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

c 遍歷 json字符串

傅智翔2年前8瀏覽0評論

在c語言中,遍歷json字符串是一項非常重要的任務。json是一種輕量級的數(shù)據(jù)交換格式,常用于數(shù)據(jù)傳輸和存儲。c語言中可以通過一些開源的庫來解析json字符串,如cjson和jansson。

下面是一個使用cjson庫來遍歷json字符串的例子:

#include <stdio.h>
#include <cjson/cJSON.h>
int main()
{
const char *json_string = "{\"name\":\"Tom\",\"age\":18,\"hobbies\":[\"reading\",\"traveling\"]}";
cJSON *root = cJSON_Parse(json_string);
if (root == NULL) {
printf("Failed to parse json string!\n");
return 1;
}
cJSON *name = cJSON_GetObjectItem(root, "name");
if (name && name->type == cJSON_String) {
printf("name: %s\n", name->valuestring);
}
cJSON *age = cJSON_GetObjectItem(root, "age");
if (age && age->type == cJSON_Number) {
printf("age: %d\n", age->valueint);
}
cJSON *hobbies = cJSON_GetObjectItem(root, "hobbies");
if (hobbies && hobbies->type == cJSON_Array) {
int i;
cJSON *hobby;
for (i = 0; i< cJSON_GetArraySize(hobbies); i++) {
hobby = cJSON_GetArrayItem(hobbies, i);
if (hobby && hobby->type == cJSON_String) {
printf("hobby %d: %s\n", i + 1, hobby->valuestring);
}
}
}
cJSON_Delete(root);
return 0;
}

在這個例子中,先定義了一個json字符串,然后使用cJSON_Parse函數(shù)將其解析為一個cJSON對象。接著可以使用cJSON_GetObjectItem函數(shù)獲取對象中的鍵值對,判斷鍵值對的類型,并打印出來。同時,也展示了如何遍歷數(shù)組類型的鍵值對。

以上是c語言遍歷json字符串的一個簡單例子,希望對大家有所幫助。