【cJSON】JSON数据解析

所需积分/C币:49 2018-08-18 17:46:10 333KB PDF
收藏 收藏
举报

【cJSON】JSON数据解析 pdf文档 学习c/c++编程的资料
ingredients":"五花肉,250g;萝卜,100g;鹌鹑蛋,20个 burden":"油,适量;盐,适量 示例代码 1. #include"./code/cJSoNh 2. #include<stdio. h> 3. #include<string.h> 4. #include<stdlib.h> 5. int main( 6 7 char jsontext[]=f 14\"," 9."\"tit1e\":\"红烧肉\"," 18."\"tags\":\"家常菜;老年人;咸;半小时-1小时;青少年;白领;红烧;1-2人;炒锅\"," 11。 " intro\":\"加了鹌鹑蛋,祝大家岁岁平鹌\"," 12."\" ingredients\":\"五花肉,258g;萝卜,18g;鹌鹑蛋,28个\"," 13."\" burden、":\"油,适量;盐,适量\"}"}; 14 /2.解析数据 15 CSN*json= Cison Parse( sontex);//解析数据包 16 f(json) 17 18 printf( %s\n",CJSON GetErrorptrO)i 19 return 0, 28 21 CJS0N* obj=CJ SON_ GetobjectItem (json,"id"); 22 printf("id:‰sⅦn",obj- valuestring); 23 obj=CJSoN_GetobjectItem(json," title"); 24 printf( title: %s\n",obj->valuestring)i 25 obj=C]SoN_ GetobjectItem(json ,"tags"); 26。 printf( tags: %s\n",obj->valuestring); 27 obj=C]SON GetobjectItem(json, "intro"); 28。 printf(" imtro: %s\n",obj->valuestring); 29 obj=C]SON_GetobjectItem(json, "ingredients" ); 38。 printf("ingredients: %s\n",obj->valuestring 31 obj=C]SoN GetobjectItem(json, burden"); 32 printf("burden: %s\n",obj->valuestring); 33 //3.释放资源 34。 CJSoN_ Delete(ison) 35.} 执行结果: id:14 title:红烧肉 tags:家常菜;老年人;咸;半小时-1小时;青少年;白领;红烧;1-2人;炒锅 intro:加了鹌鹑蛋,祝人家岁岁平鹌 ingredients:五花肉,250g;萝卜,100g;鹌鹑蛋,20个 burden:油,适量;盐,适量 以结构体的方式改写上述代码: 1. #include"./code/cJSoNh 2. #include<stdio. h> 3. #include<string.h> 4. #include<stdlib.h> 5. typedef struct Infor char ID[4]; 789 char title[50]; char tags[200]; char intro[200]; 10 char ingredients[500; 11 char burden[ 200] 12. Into 13。 int main() 14.{ 15。 char jsontext[]=i 16."{\"id\":\"14\"," 17。"\"tit]e\":\"红烧肉\"," 18."\"tags\":\"家常菜;老年人;咸;半小吋-1小吋;青少年;白领;红烧;1-2人;炒锅\"," 19。"\" intro\":\"加了鹌鹑蛋,祝大家岁岁平鹌\"," 28."" ingredients\":\"五花肉,250g;萝卜,18g;鹌鶉蛋,2日个\"," 21."" burden'、":\"油,适量;盐,适量\"}"}; 22 //2.解析数据 23 CJS0N*json= C]soN Parse( Context);//解析数据包 24。 if(l ison) 25。 26 printf( %d: %s\n", LINE-3, cJ SoN GetErrorPtro) 27 return日 28 29 CJsoN item 3 Infoinfo; 31 item=C]SoN_GetObjectItem(json,"ID") 32。 memcpy(info. ID,item->valuestring, strlen(item->valuestring)); 33 item=C]SoN GetobjectItem(son,"title") 34。 memcpy(info. title, item->valuestring, strlen(item->valuestring)); 35 item=CJSoN GetobjectItem(json,"tags"); 36 memcpy (info. tags, item->valuestring, strlen(item->valuestring)); 37 item=c]SoN GetobjectItem(ison,"imtro"; 38 memcpy(info. intro,item->valuestring, strlen(item->valuestring))i 39 item=CJSoN GetobjectItem(ison,"ingredients"); 48 memcpy(info. ingredients,item->valuestring, strlen(item->valuestring)); 41 item=CJSoN GetobjectItem(json,"burden"); 42 memcpy (info. burden, item->valuestring, strlen(item->valuestring)); 43。 printf( %s\n%s\n%s\n%s\n%s\n%s\n",info. ID, info. title, info. tags, 44 info. intro, info. ingredients, info. burden); //3.释放资源 46。 C]SoN Delete(json); 47. 执行结果: tarena@ubuntu:/json$./aout 14 红烧肉 家常菜;老年人;咸;半小时-1小时;青少年;臼领;红烧;1-2人;炒锅 加了鹌鹑蛋,祝大家岁岁平鹌 五花肉,250g;萝卜,100g;鹌鹑蛋,20个 油,适量;盐,适量 3.2数组的解析 parentId:10002, naMe. 菜系”" st":[…] 含有数组元素的处理 1. #include"./code/cJSoNh 2. #include<stdio. h> 3. #include<string.h> 4. #include<stdlib.h> 6. int main( 7.{ 8 char jsontext[]=t 1日.//2.解析数据 11 CS0N*json=c]SON_ Parse( context);//解析数据包 12 f(lison) 13 14 printf("‰sⅦn", CAson Geterrorptr()) 15 eturn a 16 17 JSO y=C]SON GetobjectItem(ison,"list"); 8 if(array!=NULL) 19 2 //获取数组的元素个数 21 int size =C]SoN GetArraySize(array )i 22 printf("菜系的种类:‰d:\n",Size) 23 int 1=0: 24 for(i=0; i<size; i++) 25 26 CJSoN* obj=CJSON_ GetArrayItem(array, 1); 27 c]SoN* item=cJSON GetobjectItem(obj,"name"); 28 printf("[‰d]:%s\ tem->valuestring); 29 30 31 //3.释放资源 32 CJSoN_ Delete(json); 33 json=NULL 34.} 运行结果 菜系的种类:31: [0]:川菜 [1]:粤菜 [2]:湘菜 3]:鲁菜 [4]:京菜 [5]:东北菜 「61:西餐 71:日本料理 8:韩国料理 :闽菜 101:浙菜 [11]:苏菜 12|:徽菜 13|:豫菜 141:晋菜 L15」:赣菜 [16]:湖北菜 [17]:清真菜 [18]:云南菜 [19]:贵州菜 [20]:新疆菜 1211:淮扬菜 22|:州菜 123|:客家菜 12l|:香港关食 [25]:台湾菜 26]:泰国菜 27:意大利菜 8|:法国菜 29」:东南亚菜 30]:印度菜

...展开详情
试读 7P 【cJSON】JSON数据解析
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
上传资源赚积分or赚钱
最新推荐
【cJSON】JSON数据解析 49积分/C币 立即下载
1/7
【cJSON】JSON数据解析第1页
【cJSON】JSON数据解析第2页

试读结束, 可继续读1页

49积分/C币 立即下载 >