解析は、文字列を受け取り、そこからJSONオブジェクトを形成:
{"id": 1,"title": "test" }
は、ID = 1、タイトルは= "test" を含む、あなたのサイズ2のオブジェクトを提供します。
文字列は、文字列を受け取り、そこからJSON文字列を形成しています。
後の例では、"id": 1,"title": "test"
を含むjson文字列が返されます。
これは基本的に、jsonオブジェクトとして認識されないjson文字列を解析しようとしていることを意味します。それはあなたが与えている例の場合になります。
{"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である事実:{"id": 1,"title": "test" }
復帰のために
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;
}
オブジェクト)と2文字列。 JSONではありません "値1" の場合
、それは文字列であり、あなたが持っているでしょう:2つのオブジェクトはサイズ0、および2型(文字列)である、ここで
"value 1"
0
"\"value 1\""
0
お知らせ。
これはタイプの値です。
enum value_type
{
/// Number value
Number,
/// Boolean value
Boolean,
/// String value
String,
/// Object value
Object,
/// Array value
Array,
/// Null value
Null
};
ありがとう、簡単な説明と例をありがとうございます! – Kajal