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

c 從json中取值

榮姿康1年前8瀏覽0評論

在C語言中,可以通過使用第三方庫來解析JSON格式的數據并從中取值。以下是一些示例代碼。

#include <stdio.h>
#include <jansson.h>
int main() {
const char *json_string = "{\"name\":\"John\",\"age\":32,\"married\":true}";
json_error_t error;
json_t *root = json_loads(json_string, JSON_DECODE_ANY, &error);
if(!root) {
printf("json error on line %d: %s\n", error.line, error.text);
return 1;
}
json_t *name = json_object_get(root, "name");
if(!json_is_string(name)) {
printf("name is not a string\n");
return 1;
}
printf("name: %s\n", json_string_value(name));
json_t *age = json_object_get(root, "age");
if(!json_is_number(age)) {
printf("age is not a number\n");
return 1;
}
printf("age: %d\n", json_integer_value(age));
json_t *married = json_object_get(root, "married");
if(!json_is_boolean(married)) {
printf("married is not a boolean\n");
return 1;
}
printf("married: %s\n", json_is_true(married) ? "true" : "false");
json_decref(root);
return 0;
}

首先,需要引入第三方庫`jansson.h`。然后,可以定義一個JSON字符串,并使用`json_loads()`函數將其載入JSON對象中。

通過使用`json_object_get()`函數可以獲取JSON對象中的某個元素,例如根據鍵名獲取一個字符串類型的元素`name`。獲取元素之后,需要使用合適的JSON類型檢查方法,例如`json_is_string()`、`json_is_number()`和`json_is_boolean()`等進行檢查。對于每個元素類型,可以使用相應的函數`json_string_value()`、`json_integer_value()`和`json_is_true()`獲取其值。

最后,需要使用`json_decref()`函數釋放JSON對象的內存。