欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 中解析json數(shù)據(jù)

什么是JSON?JSON(JavaScript Object Notation,JavaScript 對(duì)象表示法)是一種輕量級(jí)的數(shù)據(jù)交換格式。JSON 采用完全獨(dú)立于語(yǔ)言的格式表示數(shù)據(jù)。JSON 格式是基于 ECMAScript(繼承C語(yǔ)言基本語(yǔ)法)的一個(gè)子集。

在C語(yǔ)言中,解析JSON數(shù)據(jù)可以采用第三方庫(kù),如 cJSON。cJSON 是一個(gè)極其輕量級(jí)的JSON解析器,是C語(yǔ)言中JSON解析最方便的工具之一。cJSON 只包含兩個(gè)文件:cJSON.h 和 cJSON.c,函數(shù)實(shí)現(xiàn)簡(jiǎn)單,極易上手。

/* cJSON解析JSON字符串示例 */ 
#include#include"cJSON.h"
void cJSON_ParseText(char* jsonText) {
// 解析 jsonText
cJSON* root = cJSON_Parse(jsonText);
cJSON* userInfo = cJSON_GetObjectItem(root, "userInfo");
cJSON* username = cJSON_GetObjectItem(userInfo, "username");
cJSON* password = cJSON_GetObjectItem(userInfo, "password"); 
cJSON* hobbies = cJSON_GetObjectItem(userInfo, "hobbies");
cJSON* arrayElement = NULL;
printf("username : %s \n", username->valuestring);
printf("password : %s \n", password->valuestring);
printf("hobbies : ");
cJSON_ArrayForEach(arrayElement, hobbies) {
printf("%s ", arrayElement->valuestring);
}
cJSON_Delete(root);
}
int main() {
char* testJsonText = "{\"userInfo\":{\"username\":\"Tom\",\"password\":\"123456\",\"hobbies\":[\"swimming\",\"reading\",\"running\"]}}";
cJSON_ParseText(testJsonText);
return 0;
}

以上代碼是一個(gè)簡(jiǎn)單的cJSON解析JSON字符串的示例。可以看到代碼中包括 cJSON 的頭文件,并在函數(shù) cJSON_ParseText 中解析了一個(gè)字符串 jsonText,然后處理 root 中的各個(gè)字段并打印輸出。其中 cJSON_GetObjectItem 函數(shù)用于獲取 cJSON 對(duì)象中的元素。在數(shù)組中,需要使用 cJSON_ArrayForEach 遍歷數(shù)組元素。