色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c json轉換為數(shù)組

錢多多1年前7瀏覽0評論

在C語言中,JSON(JavaScript Object Notation)是一種常見的數(shù)據(jù)交換格式。 C語言中的json-c庫可以用來解析和構造JSON數(shù)據(jù)。本文將介紹如何將C語言中的JSON數(shù)據(jù)轉換為數(shù)組。

#include <stdio.h>
#include <json-c/json.h>
int main() {
const char *json_string = "{ \"numbers\": [1, 2, 3, 4, 5] }";
struct json_object *json_obj = json_tokener_parse(json_string);
struct json_object *numbers_obj;
json_object_object_get_ex(json_obj, "numbers", &numbers_obj);
if (! json_object_is_type(numbers_obj, json_type_array)) {
printf("Error: Object is not an array\n");
return 1;
}
int len = json_object_array_length(numbers_obj);
int numbers[len];
int i;
for (i = 0; i< len; i++) {
numbers[i] = json_object_get_int(json_object_array_get_idx(numbers_obj, i));
}
printf("Array contents: ");
for (i = 0; i< len; i++) {
printf("%d ", numbers[i]);
}
printf("\n");
return 0;
}

代碼解釋:

  • 第3、4行包含了必要的頭文件: stdio.h和json.h。
  • 第6行的json_string定義了一個包含JSON數(shù)據(jù)的字符串。
  • 第7行用json_tokener_parse()函數(shù)解析該字符串并創(chuàng)建一個json_object對象。
  • 第8行用json_object_object_get_ex()函數(shù)獲取名為“numbers”的對象,并將其存儲在名為numbers_obj的變量中。
  • 第10-13行檢查numbers_obj是否為一個數(shù)組。
  • 第15-18行以整數(shù)格式把數(shù)組元素存儲在一個名為numbers的整數(shù)數(shù)組中。
  • 第20-23行打印數(shù)組內(nèi)容。

運行代碼,輸出為:

Array contents: 1 2 3 4 5

這證明了我們成功地將C語言中的JSON數(shù)據(jù)轉換為數(shù)組。