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

c 的json字符串轉數組中

林玟書1年前8瀏覽0評論

JSON是現代Web應用程序中最常用的數據交換格式之一。它具有輕量級,易于閱讀和編寫以及語言無關等優點。在使用JSON數據時,經常需要將JSON字符串轉換為數組,在C語言中也有相關的API可以使用。

為了將JSON字符串轉換為數組,需要使用JSON-C庫中的API。JSON-C是JSON解析器和生成器,可以讀取和寫入JSON數據。

下面的代碼展示了如何將JSON字符串轉換為數組:

#include <stdio.h>
#include <stdlib.h>
#include <json-c/json.h>
int main()
{
char* json_str = "{ \"name\":\"John\", \"age\":30, \"city\":\"New York\" }";
struct json_object* json_obj = json_tokener_parse(json_str);
struct json_object* jarray = json_object_object_get(json_obj, "array");
if (jarray == NULL)
{
printf("Error: JSON array not found!\n");
return 1;
}
int arraylen = json_object_array_length(jarray);
printf("JSON array length: %d\n", arraylen);
for (int i = 0; i< arraylen; i++)
{
struct json_object* jvalue = json_object_array_get_idx(jarray, i);
printf("Array element %d: %s\n", i, json_object_get_string(jvalue));
}
json_object_put(json_obj);
return 0;
}

在這個例子中,我們首先定義了一個JSON字符串。然后使用json_tokener_parse()函數將其轉換為一個JSON對象。從JSON對象中獲取到一個數組對象,并使用json_object_array_length()函數獲取數組長度。最后,使用json_object_array_get_idx()函數獲取數組元素,并使用json_object_get_string()函數獲取字符串值。

注意,在使用完JSON對象后,需要使用json_object_put()函數來釋放它所占用的內存。否則會導致內存泄漏。

總之,在C語言中,使用JSON-C庫可以方便地將JSON字符串轉換為數組,并對其進行處理。