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

c 怎么取出json中的值

劉姿婷1年前9瀏覽0評論

在C語言中,有時需要從JSON(JavaScript Object Notation)中取出特定的值。以下是一種方法:

#include <stdio.h>#include <stdlib.h>#include <jansson.h>int main() {
const char *json_string = "{\"name\":\"Tom\",\"age\":24,\"gender\":\"Male\"}";
json_error_t error;
json_t *root = json_loads(json_string, 0, &error); // 將JSON字符串解析為JSON對象
if (!root) { // 檢查是否有解析錯誤
printf("error: on line %d: %s\n", error.line, error.text);
return 1;
}
json_t *name = json_object_get(root, "name"); // 從JSON對象中取出名為"name"的值
const char *name_str = json_string_value(name); // 將JSON值轉換為C字符串
printf("Name: %s\n", name_str);
// 從JSON對象中取出其他值的方法類似
json_t *age = json_object_get(root, "age");
int age_int = json_integer_value(age);
printf("Age: %d\n", age_int);
json_t *gender = json_object_get(root, "gender");
const char *gender_str = json_string_value(gender);
printf("Gender: %s\n", gender_str);
json_decref(root); // 釋放JSON對象占用的內存
return 0;
}

上述代碼中,首先將JSON字符串解析為JSON對象,然后通過json_object_get()函數從JSON對象中取出需要的值。取出值后,通過json_string_value()json_integer_value()將JSON值轉換為C字符串或整數。

注意,在使用json_loads()函數時,第二個參數為解析JSON字符串時使用的標志。若不需要使用標志,則將該參數設為0即可。