JsonCpp Assertion `type_ == nullValue || type_ == objectValue' 问题解决 , 希望能帮助到大家.转载请注明出处.
源程序
Json::Features features = Json::Features::strictMode();
Json::Reader reader(features);
Json::Value value;
string szbuffer(szRecvBuffer);
string szName;
int nAge;
printf("szRecvBuffer:%s\n", szRecvBuffer);
if(reader.parse(szbuffer,value))
{
int nSize =value.size();
for(int i =0; i <nSize; i++)
{
szName =value["name"].asString();
nAge =value["age"].asInt();
cout<<szName<<endl;
cout<<nAge<<endl;
}
}
可通过程序
Json::Features features = Json::Features::strictMode();
Json::Reader reader(features);
Json::Value value;
string szbuffer(szRecvBuffer);
string szName;
int nAge;
printf("szRecvBuffer:%s\n", szRecvBuffer);
if(reader.parse(szbuffer,value))
{
int nSize =value.size();
for(int i =0; i <nSize; i++)
{
szName =value[i]["name"].asString();
nAge =value[i]["age"].asInt();
cout<<szName<<endl;
cout<<nAge<<endl;
}
}
无非是在value后加了区别的下标.
[{},{}] 与 {} 格式的解析要一致,否则会造成错误
此错误原因,主要是来自,所发的Json格式,和所接收的Json格式要统一.
数组格式,对数组格式. 单条记录格式,对单条记录格式.