解析采用一个字符串并且形成JSON对象出它:
{"id": 1,"title": "test" }
会给你大小2的对象,包含ID = 1和标题= “测试”。
串将一个字符串形成JSON字符串出来。
稍后的示例将返回包含"id": 1,"title": "test"
的àjson字符串。
这基本上意味着你正试图解析一个不被识别为json对象的json字符串。你所举的例子就是这种情况。
parse(const std::string& s) {
std::cout << json.parse(s) << std::endl;
std::cout << json.parse(s).size() << std::endl;
std::cout << json.parse(s).type() << std::endl;
std::cout << json.string(s) << std::endl;
std::cout << json.string(s).size() << std::endl;
std::cout << json.string(s).type() << std::endl;
}
对于{"id": 1,"title": "test" }
返回:
{"body":"body test","id":1,"title":"test","userId":1}
4
3
"{\"userId\":1, \"id\": 1,\"title\": \"test\",\"body\": \"body test\"}"
0
2
通知JSON对象的大小和这样的事实JSON字符串是报价之间和看一看类型3(而不是4大小0的对象)和2个字符串。
对于 “值1”,这是不是一个JSON,它是一个字符串,你将有:
"value 1"
0
"\"value 1\""
0
通知这里的2个对象是大小为0的,和2型(字符串)。
这是这个值的类型:
enum value_type
{
/// Number value
Number,
/// Boolean value
Boolean,
/// String value
String,
/// Object value
Object,
/// Array value
Array,
/// Null value
Null
};
谢谢你的简单解释和例子! – Kajal