在c ++中将json值转换为int

roc*_*ocx 7 c++ json

我正在使用c ++读取json值

Json::Reader reader
Run Code Online (Sandbox Code Playgroud)

并且值存储在 Json::Value root

这个根包含"age"和"id",我想将root ["age"]转换为int.

我尝试使用.str()将其转换为字符串但无法获取.

有什么建议吗?

Mar*_*ser 9

jsoncpp它们中为Json::Value对象提供辅助方法.您只能asInt()在值上调用方法来转换它.

int ageAsInt = root["age"].asInt()
Run Code Online (Sandbox Code Playgroud)


dea*_*eef 1

你应该能够使用

std::stoi( string )
Run Code Online (Sandbox Code Playgroud)

示例取自http://en.cppreference.com/w/cpp/string/basic_string/stol

#include <iostream>
#include <string>

int main()
{
    std::string test = "45";
    int myint = std::stoi(test);
    std::cout << myint << '\n';
}
Run Code Online (Sandbox Code Playgroud)