C++ 怎么遍历json 对象
json 对象如下:
{"data":
{
"35":
{
"family_name":"...",
"tels":[{"value":"13s2222","type":"other","pref":true}],
"given_name":"...",
"customs":[{"value":"com.android.contacts.default","type":"accountType"}, {"value":"default","type":"accountName"}],
"middle_name":"..."
},
"36":
{
"family_name":"...",
"tels":[{"value":"15022222","type":"other","pref":true}],
"given_name":"...",
"customs":[{"value":"com.android.contacts.default","type":"accountType"},{"value":"default","type":"accountName"}],
"middle_name":"..."
}
}
}
我是用第三方开源的jsoncpp 中Reader 和 Value 的类来解析的。主要想提取tels中的value的值和middle_name的值。
Reader reader;
Value root;
Value value;
reader.parse_range(buf.data(), buf.data()+buf.size(), root, '"');
int data_size = root["data"].size();
for(int i=0; i<data_size; ++i)
{
TString tels = root["data"][i]??
}
第一个问题 : 怎么得到json对象的个数? 这样写 int data_size = root["data"].size();貌似不对,我调试时发现data_size的值是0
第二个问题: 在for循环里怎么解析来得到想要的值。