CJSON中有关于在对象中放数组,数组中放对象,以及其解析

CJSON数据的打包————创立一个键值对:键为"status_element",值为数组,数组中有大量对象的Cjson:

数据结构为 {key1:value1, key2:value2, ...} 的键值对结构:(key 为对象的属性,value 为对应的值。键名可以使用整数和字符串来表示。值的类型可以是任意类型。)

 cJSON_AddItemToObject(Packet_Head,"status_element",status_element);//向environ中添加一个数组对象info_element
   for(i=0;i<Device_Num;i++)
   {
     device_data=cJSON_CreateObject();
     cJSON_AddItemToArray(status_element,device_data);
     cJSON_AddStringToObject(device_data,"device_id",_DVCE_data.device_id[i]);
     cJSON_AddStringToObject(device_data,"position",_DVCE_data.position[i]);
     cJSON_AddStringToObject(device_data,"status_num",_DVCE_data.status_num[i]);
   }

 

解析一个键为“parameter_element”,键值为数组,数组中有大量对象的Cjson:

  parameter_element = cJSON_GetObjectItem(Packet_Head,"parameter_element"); 
         array_size = cJSON_GetArraySize(parameter_element);
         for(i=0; i< array_size; i++)
          {
            item=cJSON_GetArrayItem(parameter_element,i);
             
             device_id = cJSON_GetObjectItem(item,"device_id"); 
             _RX_DEV_Data.device_id[i]=device_id->valuestring;
             printf("(1) device_id[i]: %s\n",_RX_DEV_Data.device_id[i]); 
             
             position = cJSON_GetObjectItem(item,"position"); 
             _RX_DEV_Data.position[i]=position->valuestring;
             printf("(1) position[i]: %s\n",_RX_DEV_Data.position[i]); 
             
             status_num = cJSON_GetObjectItem(item,"status_num"); 
             _RX_DEV_Data.status_num[i]=status_num->valuestring;
             printf("(1) position[i]: %s\n",_RX_DEV_Data.status_num[i]); 
          }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值