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

c 解析數組json字符串數組

林子帆2年前9瀏覽0評論

在C語言中解析JSON字符串數組需要用到一些庫和函數,在本篇文章中我們將簡單介紹如何使用C語言解析JSON字符串數組。

首先,我們需要使用一個C庫,比如json-c,在代碼中引用頭文件:

#include <json-c/json.h>
這個庫提供了一些方便的函數用于解析JSON字符串。

接下來我們需要準備一個JSON字符串數組,示例代碼如下:

[
 {"name": "apple", "color": "red", "price": 3.0},
 {"name": "banana", "color": "yellow", "price": 2.5},
 {"name": "orange", "color": "orange", "price": 4.0}
]

現在我們來解析這個JSON字符串數組,代碼如下:

#include <stdio.h>
#include <json-c/json.h>
int main() {
char *string = "[{\"name\": \"apple\", \"color\": \"red\", \"price\": 3.0}, {\"name\": \"banana\", \"color\": \"yellow\", \"price\": 2.5}, {\"name\": \"orange\", \"color\": \"orange\", \"price\": 4.0}]";
json_object *json_array = json_tokener_parse(string);
int array_length = json_object_array_length(json_array);
for (int i = 0; i < array_length; i++) {
json_object *array_element = json_object_array_get_idx(json_array, i);
json_object *name, *color, *price;
json_object_object_get_ex(array_element, "name", &name);
json_object_object_get_ex(array_element, "color", &color);
json_object_object_get_ex(array_element, "price", &price);
printf("%s: %s ($%.2f)\n", json_object_get_string(name), json_object_get_string(color), json_object_get_double(price));
}
json_object_put(json_array);
return 0;
}

運行代碼會輸出每個水果的名稱、顏色和價格,代碼說明如下:

  • 第5行,我們使用json_tokener_parse()函數解析JSON字符串為一個json_object
  • 第6行,獲取JSON數組的長度。
  • 第8至16行,遍歷JSON數組,使用json_object_array_get_idx()獲取數組中指定索引的元素,并使用json_object_object_get_ex()獲取元素的名稱、顏色和價格。
  • 最后,在內存中釋放json_array

以上就是在C語言中解析JSON字符串數組的方法和示例代碼。