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

c 接收讀取json數(shù)據(jù)格式

劉柏宏1年前9瀏覽0評論

在C語言編程中,我們有時需要讀取JSON數(shù)據(jù)格式的數(shù)據(jù)。JSON是一種輕量級的數(shù)據(jù)交換格式,以文本形式表示結(jié)構(gòu)化數(shù)據(jù)。在C語言中,我們可以使用第三方庫來解析JSON數(shù)據(jù)格式,比如jansson和cJSON。

使用jansson解析JSON數(shù)據(jù)格式:

#include <jansson.h>
#include <stdio.h>
int main() {
char* json_text = "{ \"name\" : \"Alice\", \"age\" : 18 }"; // JSON數(shù)據(jù)格式字符
json_error_t error;
json_t* json = json_loads(json_text, 0, &error); // 解析JSON數(shù)據(jù)格式
if (!json) {
fprintf(stderr, "JSON解析出錯:%s", error.text);
return 1;
}
const char* name;
json_integer_t age;
json_unpack(json, "{s:s, s:i}", "name", &name, "age", &age); // 解析JSON數(shù)據(jù)并獲取值
printf("姓名:%s 年齡:%d\n", name, (int)age);
json_decref(json); // 釋放內(nèi)存
return 0;
}

使用cJSON解析JSON數(shù)據(jù)格式:

#include <stdio.h>
#include <cJSON.h>
int main() {
char* json_text = "{ \"name\" : \"Alice\", \"age\" : 18 }"; // JSON數(shù)據(jù)格式字符
cJSON* json = cJSON_Parse(json_text); // 解析JSON數(shù)據(jù)格式
if (!json) {
const char* error_ptr = cJSON_GetErrorPtr();
if (error_ptr) {
fprintf(stderr, "JSON解析出錯:%s", error_ptr);
}
return 1;
}
const cJSON* name = cJSON_GetObjectItemCaseSensitive(json, "name");
const cJSON* age = cJSON_GetObjectItemCaseSensitive(json, "age");
if (cJSON_IsString(name) && (name->valuestring != NULL) &&
cJSON_IsNumber(age)) {
printf("姓名:%s 年齡:%d\n", name->valuestring, age->valueint);
}
cJSON_Delete(json); // 釋放內(nèi)存
return 0;
}