JsonCpp Assertion `type_ == nullValue || type_ == objectValue'

本文解决使用JsonCpp解析JSON数组与对象时出现的类型错误问题,通过示例展示正确解析方法,确保JSON格式一致性以避免错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 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格式要统一.


数组格式,对数组格式. 单条记录格式,对单条记录格式.



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值