C語言解析兩層Json數據,需要借助第三方的Json庫,比如cJSON。
首先,我們需要解析Json字符串,將其轉換成cJSON實例對象。假設有如下Json數據:
{"name": "Tom", "age": 18, "job": {"title": "engineer", "department": "R&D"}}
可以通過cJSON_Parse函數將其轉換成cJSON實例:
char *jsonStr = "{\"name\": \"Tom\", \"age\": 18, \"job\": {\"title\": \"engineer\", \"department\": \"R&D\"}}";
cJSON *root = cJSON_Parse(jsonStr);
解析后的cJSON實例可以通過cJSON_GetObjectItem方法獲取指定名稱的Json字段,例如獲取名為"name"的字段值:
cJSON *nameJson = cJSON_GetObjectItem(root, "name");
if (nameJson != NULL) {
printf("%s\n", nameJson->valuestring);
}
對于嵌套的Json數據,同樣可以通過cJSON_GetObjectItem方法獲取嵌套字段,例如獲取名為"title"的字段值:
cJSON *jobJson = cJSON_GetObjectItem(root, "job");
if (jobJson != NULL) {
cJSON *titleJson = cJSON_GetObjectItem(jobJson, "title");
if (titleJson != NULL) {
printf("%s\n", titleJson->valuestring);
}
}
需要注意的是,當獲取嵌套字段時,需要逐層獲取,確保每一層的字段都不為空。
上一篇vue2.0.js
下一篇vue app 去水印