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

c 數組json字符串實例化

黃文隆1年前8瀏覽0評論

C語言是一種流行的程序語言,它具有高效、簡單等特點。其中,數組是C語言中的一種基本數據類型,可以在程序中存儲一系列相同類型的數據。

與此同時,JSON(JavaScript Object Notation)是一種輕量級的數據格式,常用于跨語言的數據交換。在C語言中,我們可以使用第三方庫來處理JSON字符串。其中比較常用的是cJSON。

#include <stdio.h>
#include <stdlib.h>
#include <cJSON.h>
int main() {
char *json_string = "{\
\"name\": \"John Smith\",\
\"age\": 25,\
\"hobbies\": [\
\"reading\",\
\"jogging\"\
]\
}";
cJSON *root = cJSON_Parse(json_string);
if (!root) {
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
return 1;
}
cJSON *name = cJSON_GetObjectItem(root, "name");
cJSON *age = cJSON_GetObjectItem(root, "age");
cJSON *hobbies = cJSON_GetObjectItem(root, "hobbies");
int hobbies_count = cJSON_GetArraySize(hobbies);
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
printf("Hobbies:\n");
for (int i = 0; i< hobbies_count; i++) {
cJSON *hobby = cJSON_GetArrayItem(hobbies, i);
printf("- %s\n", hobby->valuestring);
}
cJSON_Delete(root);
return 0;
}

以上代碼演示了如何使用cJSON第三方庫將JSON字符串實例化為對象,并通過對象的操作來獲取其中的數據,包括字符串、整型、數組等類型。

首先,我們需要引入cJSON庫的頭文件,并且定義JSON格式的字符串。然后,我們調用cJSON_Parse方法,將該字符串轉換為cJSON對象,并進行錯誤處理。接著,我們使用cJSON_GetObjectItem方法來獲取JSON字符串中的各個屬性,并通過屬性的操作獲取對應的值。最后,我們打印出獲取到的數據,注意使用cJSON_Delete方法釋放對象的內存。