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

c 從json中獲取某一數據

錢琪琛2年前8瀏覽0評論

在C語言中,使用JSON庫可以方便地讀取JSON格式的數據。要從JSON中獲取某一特定的數據,需要通過遍歷JSON對象來查找該數據

#include <stdio.h>
#include <jansson.h>
int main() {
const char *json_str = "{ \"name\": \"張三\", \"age\": 25, \"city\": \"北京\" }";
json_t *root;
json_error_t error;
root = json_loads(json_str, 0, &error);
if (!root) {
fprintf(stderr, "讀取JSON出錯,行 %d,列 %d: %s\n", error.line, error.column, error.text);
return 1;
}
json_t *name = json_object_get(root, "name");
if (!json_is_string(name)) {
fprintf(stderr, "“name”不是字符串類型\n");
json_decref(root);
return 1;
}
printf("名字:%s\n", json_string_value(name));
json_decref(root);
return 0;
}

代碼中使用的JSON庫是jansson,使用json_loads函數可以將JSON字符串轉換為json_t結構體,在這個結構體中存放了JSON的各個部分。例如,在獲取“name”字段時,使用json_object_get函數從json_t結構體中獲取對應的json_t類型的數據。

需要注意的是,如果獲取的值不是期望的類型,可以使用json_is_xxx類型判斷。

在結束使用json_t結構體時,需要使用json_decref函數釋放內存。