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

c 中json取值

江奕云2年前7瀏覽0評論

C語言中處理JSON數據時,我們通常需要對JSON字符串進行解析,獲取其中某個鍵對應的值。下面我們看看如何在C語言中取出JSON數據的值。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main()
{
char* json_string = "{\"name\":\"Tom\",\"age\":18,\"gender\":\"male\"}";   // 聲明JSON字符串
json_t* root;
json_error_t error;
root = json_loads(json_string, JSON_DISABLE_EOF_CHECK, &error);    // 將JSON字符串解析為json_t類型的對象
if(NULL == root)    // 解析出錯
{
printf("parse error: on line %d: %s\n", error.line, error.text);
return -1;
}
json_t* name = json_object_get(root, "name");    // 獲取"name"對應的值
if(NULL != name)    // 存在"name"鍵
{
printf("name: %s\n", json_string_value(name));    // 輸出"name"對應的值
}
json_t* age = json_object_get(root, "age");    // 獲取"age"對應的值
if(NULL != age)    // 存在"age"鍵
{
printf("age: %d\n", json_integer_value(age));    // 輸出"age"對應的值
}
json_t* gender = json_object_get(root, "gender");    // 獲取"gender"對應的值
if(NULL != gender)    // 存在"gender"鍵
{
printf("gender: %s\n", json_string_value(gender));    // 輸出"gender"對應的值
}
json_decref(root);    // 釋放json_t類型對象內存
return 0;
}

代碼使用了jansson庫,該庫是一個C語言實現的JSON庫,可以方便地解析JSON數據。

通過json_object_get函數,我們可以很方便地獲取JSON對象中某個鍵對應的值,并通過json_string_value或json_integer_value等函數獲取對應的字符串或整數值。