色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 解析微信json

在使用C語(yǔ)言解析微信JSON數(shù)據(jù)時(shí),可以用到cJSON的庫(kù)。該庫(kù)可以快速的解析JSON數(shù)據(jù),且其API簡(jiǎn)單易懂,使用方便。這里我們以微信公眾號(hào)消息模板為例,演示一下如何使用C語(yǔ)言解析JSON數(shù)據(jù)。

//首先需要引入cJSON的頭文件
#include "cJSON.h"
//定義json字符串示例
char * jsonstr = "{\"touser\":\"oXrAXxxxx\",\
\"template_id\":\"J8vZLxxxxx\",\
\"url\":\"http://weixin.qq.com/download\",\
\"data\":{\
\"first\":{\
\"value\":\"恭喜你購(gòu)買成功!\",\
\"color\":\"#173177\"\
},\
\"keyword1\":{\
\"value\":\"巧克力\",\
\"color\":\"\"\
},\
\"keyword2\":{\
\"value\":\"39.8元\",\
\"color\":\"\"\
},\
\"keyword3\":{\
\"value\":\"2014年9月22日\(chéng)",\
\"color\":\"\"\
},\
\"remark\":{\
\"value\":\"歡迎再次購(gòu)買!\",\
\"color\":\"#173177\"\
}\
}\
}";
int main() {
// 使用cJSON庫(kù)解析json字符串
cJSON * root = cJSON_Parse(jsonstr);
if (!root) {
printf("Parsing of jsonstr failed!");
return 1;
}
// 獲取json數(shù)據(jù)中的元素
cJSON* touser = cJSON_GetObjectItem(root, "touser");
printf("touser: %s\n", touser->valuestring);
cJSON* template_id = cJSON_GetObjectItem(root, "template_id");
printf("template_id: %s\n", template_id->valuestring);
cJSON* url = cJSON_GetObjectItem(root, "url");
printf("url: %s\n", url->valuestring);
cJSON* data = cJSON_GetObjectItem(root, "data");
// 循環(huán)讀取json數(shù)組中的元素
cJSON* cjson_slice = NULL;
cJSON_ArrayForEach(cjson_slice, data) {
// 打印每一個(gè)元素
printf("%s:%s\n", cjson_slice->string, cJSON_Print(cjson_slice));
}
cJSON_Delete(root);
return 0;
}

上述代碼通過(guò)cJSON_Parse解析json字符串,并通過(guò)cJSON_GetObjectItem獲取json數(shù)據(jù)中的元素,同時(shí)通過(guò)cJSON_ArrayForEach循環(huán)讀取json數(shù)組中的每一個(gè)元素。可以根據(jù)獲取到的元素的屬性打印出其值。解析JSON數(shù)據(jù)的過(guò)程在C語(yǔ)言中使用cJSON非常簡(jiǎn)便,讓程序員可以通過(guò)這個(gè)接口,更簡(jiǎn)單更快速地解析JSON數(shù)據(jù)了。