在C語言中,我們可以使用JSON-C庫解析并操作JSON對象。如果我們需要遍歷JSON對象,可以使用以下代碼:
json_object *json; //定義一個json對象 json_object_object_foreach(json, key, val) { //循環遍歷每個屬性 printf("屬性名:%s,屬性值:%s\n", key, json_object_to_json_string(val)); }
以上代碼中,我們首先定義了一個json對象。接著使用json_object_object_foreach循環遍歷每個屬性。每個屬性的名字保存在key中,屬性值保存在val中。我們可以使用json_object_to_json_string將屬性值轉為字符串并輸出。
如果我們需要訪問嵌套的JSON對象,可以使用以下代碼:
json_object *json; //定義一個json對象 json_object_object_foreach(json, key, val) { //循環遍歷每個屬性 if(json_object_get_type(val) == json_type_object) { //如果屬性值是對象類型 json_object *sub_json = json_object_get(val); //獲取子對象 //遍歷子對象 json_object_object_foreach(sub_json, sub_key, sub_val) { printf("屬性名:%s,屬性值:%s\n", sub_key, json_object_to_json_string(sub_val)); } } }
以上代碼中,我們判斷屬性值是否為對象類型。如果是對象類型,我們就獲取子對象并遍歷子對象的屬性。子對象的訪問方式和上面的遍歷方式一樣。
在遍歷JSON對象時,我們可以根據需要獲取屬性的值類型,并進行相應的操作。例如,如果屬性值是數組類型,我們就可以使用json_object_array_length獲取數組長度,并循環遍歷數組。
上一篇c 如何輸出json
下一篇python 求所有極點