在C語言中,如何取得JSON對象的子對象呢?首先,我們需要使用JSON庫。目前常用的JSON庫有cJSON和json-c,本文以cJSON為例。
//引入頭文件 #include <stdio.h> #include <cjson/cJSON.h> int main() { //解析JSON字符串 char* json_str = "{\"name\": \"張三\", \"age\": 20}"; cJSON* root = cJSON_Parse(json_str); //從根節(jié)點中取得子對象name cJSON* name = cJSON_GetObjectItem(root, "name"); printf("name: %s\n", cJSON_Print(name)); //從根節(jié)點中取得子對象age cJSON* age = cJSON_GetObjectItem(root, "age"); printf("age: %d\n", age->valueint); //釋放內(nèi)存 cJSON_Delete(root); return 0; }
在代碼中,我們首先引入了cJSON的頭文件。接著,我們定義了一個JSON字符串(注意,JSON中的字符串需要使用雙引號),并用cJSON_Parse()函數(shù)將其解析為一個cJSON對象。然后,我們使用cJSON_GetObjectItem()函數(shù)從根節(jié)點中獲取子對象name和age,并分別輸出它們的值。最后,我們使用cJSON_Delete()函數(shù)釋放內(nèi)存。
cJSON_GetObjectItem()函數(shù)的第一個參數(shù)是父節(jié)點對象,第二個參數(shù)是子對象的鍵。如果子對象的值為字符串,可以使用cJSON_Print()函數(shù)將其輸出。如果子對象的值為數(shù)值,可以使用子對象的valueint或valuedouble屬性獲取。
上一篇python 矩陣 求逆
下一篇python 矩陣一列