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

c 獲取json字符串某節點的值

黃文隆1年前9瀏覽0評論

C語言在處理JSON數據時,可以使用第三方庫cJSON來解析和讀取JSON字符串。如果需要獲取JSON字符串某節點的值,可依照下面的步驟:

/* 假設JSON字符串如下,需要獲取"age"的值 */
char *json_string = "{"name": "Tom", "age": 18}";
cJSON *root = cJSON_Parse(json_string); // 將JSON字符串轉化為cJSON結構體
if (!root) {
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
} else {
cJSON *node = cJSON_GetObjectItem(root, "age"); // 獲取 age 節點
if (node) {
printf("%d\n", node->valueint); // 輸出 age 節點的值
}
}
cJSON_Delete(root); // 釋放內存

使用cJSON_Parse(json_string)函數將JSON字符串解析為cJSON的結構體*root,失敗時會返回NULL,可通過cJSON_GetErrorPtr()查看失敗原因。然后使用cJSON_GetObjectItem(root, "age")獲取age節點,注意這里用的是cJSON_GetObjectItem,因為節點是一個對象(object),而不是一個數組(array)。如果獲取成功,將會返回age節點的指針*node,再使用node->valueint獲取節點的值。

以上是一個簡單的實例,使用cJSON還可以獲取更深層次的節點,具體方法可參考官方文檔(https://github.com/DaveGamble/cJSON/blob/master/docs/cJSON_API.md)。