在C語言中,JSON數組是一種非常常見的數據類型。當JSON數組嵌套時,就需要使用到C語言中的嵌套數組。嵌套數組可以通過在一個數組中嵌套另一個數組來實現。
{"fruits" : [ {"name" : "apple", "color" : "red", "vitamin" : ["A", "B"]}, {"name" : "banana", "color" : "yellow", "vitamin" : ["C", "B"]}, {"name" : "orange", "color" : "orange", "vitamin" : ["C"]} ]}
在上面的JSON數組中,每個水果都有一個名稱、顏色和維生素列表。維生素列表也是一個JSON數組,因此需要使用嵌套數組來表示。
#include <stdio.h> struct fruit { char* name; char* color; char* vitamins[10]; }; struct fruit all_fruits[3] = { {"apple", "red", {"A", "B"}}, {"banana", "yellow", {"C", "B"}}, {"orange", "orange", {"C"}} }; int main() { for (int i = 0; i < 3; i++) { printf("Name: %s\nColor: %s\nVitamins: ", all_fruits[i].name, all_fruits[i].color); for (int j = 0; all_fruits[i].vitamins[j]; j++) { printf("%s ", all_fruits[i].vitamins[j]); } printf("\n"); } return 0; }
上面的C語言代碼展示了如何使用嵌套數組來表示JSON數組,以及如何處理嵌套數組中的數據。在這個例子中,使用struct
定義了一個結構體fruit
來表示單個水果。所有的水果都放在一個數組all_fruits
中。每個水果都有一個名稱、顏色和維生素列表。該列表是一個字符串數組,它直接嵌套在了結構體fruit
中。
在main
函數中,使用雙重循環遍歷所有的水果并打印它們的名稱、顏色和維生素列表。內層循環遍歷嵌套數組vitamins
來打印水果包含的所有維生素。
可以看到,使用嵌套數組可以方便地處理JSON數組中的嵌套數據。
上一篇python 讀硬件數據
下一篇python 讀財報