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

c 接收讀取json數據格式

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

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

使用jansson解析JSON數據格式:

#include <jansson.h>
#include <stdio.h>
int main() {
char* json_text = "{ \"name\" : \"Alice\", \"age\" : 18 }"; // JSON數據格式字符
json_error_t error;
json_t* json = json_loads(json_text, 0, &error); // 解析JSON數據格式
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數據并獲取值
printf("姓名:%s 年齡:%d\n", name, (int)age);
json_decref(json); // 釋放內存
return 0;
}

使用cJSON解析JSON數據格式:

#include <stdio.h>
#include <cJSON.h>
int main() {
char* json_text = "{ \"name\" : \"Alice\", \"age\" : 18 }"; // JSON數據格式字符
cJSON* json = cJSON_Parse(json_text); // 解析JSON數據格式
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); // 釋放內存
return 0;
}