C JSON中的嵌套數組是指在一個數組中嵌套另一個數組的情況。對于嵌套數組,可以使用C JSON的數組和對象來表示。
//一個包含嵌套數組的示例JSON { "name": "張三", "age": 25, "interests": [ { "name": "足球", "level": 2, "teams": [ "曼聯", "巴塞羅那", "皇家馬德里" ] }, { "name": "籃球", "level": 3, "teams": [ "湖人", "馬刺", "勇士" ] } ] }
從上面的例子可以看出,“interests”是一個包含兩個對象的數組,每個對象又包含一個名稱為“teams”的數組。
在C JSON中,我們可以使用json_array_size函數獲取數組的長度;json_array_get函數獲取數組中指定下標的值;json_object_get函數獲取對象中指定名稱的值。下面是對上面例子中的嵌套數組進行操作獲取其中“足球”這個興趣愛好的代碼:
json_t* root = json_loads(json_str, 0, NULL); //json_str是上面的JSON串 json_t* interests = json_object_get(root, "interests"); json_t* interest_football = json_array_get(interests, 0); json_t* teams = json_object_get(interest_football, "teams"); for(int i=0; i上面的代碼先將整個JSON串讀入一個json_t對象,然后獲取“interests”數組,獲取“足球”這個對象,再獲取“teams”數組,最后遍歷數組中的所有元素輸出。
通過C JSON訪問和操作嵌套數組實際上就是依次獲取嵌套在數組和對象中的數組和對象。需要注意的是,需要先檢查每一層獲取的json_t對象是否是正確的類型,例如是數組還是對象,否則會導致程序崩潰。
上一篇python 連接關閉
下一篇vue flex布局