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

c 獲取json里的數(shù)據(jù)格式化

c語言獲取json里的數(shù)據(jù)并且格式化是很常見的操作。下面是一個(gè)簡(jiǎn)單的例子,展示如何使用c語言獲取json字符串里的信息,并且將其格式化。

#include<stdio.h>#include<string.h>#include<stdlib.h>#include<jansson.h>int main(){
char* json_str = "{ \"name\": \"小明\", \"age\": 21, \"hobbies\": [ \"reading\", \"music\", \"sports\" ] }";
json_error_t err;
json_t* json = json_loads(json_str, 0, &err);     //將json字符串轉(zhuǎn)換為json_t類型的結(jié)構(gòu)體
char* name = json_string_value(json_object_get(json, "name"));   //獲取名字
int age = json_integer_value(json_object_get(json, "age"));     //獲取年齡
json_t* hobbies = json_object_get(json, "hobbies");     //獲取愛好
int hobbies_num = json_array_size(hobbies);     //獲取愛好的數(shù)量
printf("Name: %s\n", name);
printf("Age: %d\n", age);
printf("Hobbies:\n");
for(int i = 0; i<hobbies_num; i++){
char* hobby = json_string_value(json_array_get(hobbies, i));
printf("- %s\n", hobby);
}
json_decref(json);     //釋放內(nèi)存
return 0;
}

在這個(gè)例子里,我們首先定義了一個(gè)json字符串,然后使用json_loads函數(shù)將其轉(zhuǎn)換為json_t類型的結(jié)構(gòu)體。我們通過json_object_get和json_array_get函數(shù)從json_t類型的結(jié)構(gòu)體里獲取我們需要的值。最后我們使用json_decref來釋放內(nèi)存。