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

c 取json字符串里面的值

在使用C語言進行編程時,我們經(jīng)常會需要從JSON字符串中獲取某個值,下面我們就來介紹一下如何在C程序中取出JSON字符串里面的值。

#include <stdio.h>
#include <jansson.h>
int main() {
const char *json_str = "{\"key1\": \"value1\", \"key2\": 2, \"key3\": [\"array\", 1, 2, 3]}";
json_t *root;
json_error_t error;
root = json_loads(json_str, 0, &error);
if(!root) {
fprintf(stderr, "error: on line %d: %s\n", error.line, error.text);
return 1;
}
json_t *key1_value = json_object_get(root, "key1");
const char *key1_str_value = json_string_value(key1_value);
printf("key1_value: %s\n", key1_str_value);
json_t *key2_value = json_object_get(root, "key2");
int key2_int_value = json_integer_value(key2_value);
printf("key2_value: %i\n", key2_int_value);
json_t *key3_value = json_object_get(root, "key3");
char *key3_str_value = json_dumps(key3_value, 0);
printf("key3_value: %s\n", key3_str_value);
json_decref(root);
free(key3_str_value);
return 0;
}

上面的程序展示了如何取出JSON字符串里面的某些值。程序中的json_loads()函數(shù)將JSON字符串解析成JSON對象,然后使用json_object_get()函數(shù)獲取對象中對應(yīng)鍵的值。為了獲取字符串類型的值,可以使用json_string_value()函數(shù),并指定要獲取的鍵的值。對于整型類型的值,可以使用json_integer_value()函數(shù)。如果想獲取數(shù)組類型的值,可以使用json_dumps()函數(shù)將獲取到的JSON對象轉(zhuǎn)換成JSON字符串,并指定要獲取的鍵的值。