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

c 把字符串轉化成json

方一強1年前8瀏覽0評論

在開發(fā)過程中,經(jīng)常會需要將字符串轉化成JSON對象,這就需要使用C語言中對應的函數(shù)。下面就讓我們來了解一下如何使用C語言把字符串轉化成JSON。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <jansson.h>
int main()
{
const char *str = "{\"name\":\"張三\",\"age\":25}";
json_error_t error;
json_t *root = json_loads(str, 0, &error);
if (!root)
{
printf("json_loads error on line %d: %s\n", error.line, error.text);
return EXIT_FAILURE;
}
const char *name = json_string_value(json_object_get(root, "name"));
int age = json_integer_value(json_object_get(root, "age"));
printf("name: %s, age: %d\n", name, age);
json_decref(root);
return EXIT_SUCCESS;
}

這段代碼使用了jansson庫,其中json_loads()函數(shù)可以把字符串轉化成JSON對象。若轉化不成功則返回NULL,同時在error參數(shù)中保存了錯誤信息。在這里我們使用了一個固定的JSON字符串,但實際使用中可以通過讀取文件或者從網(wǎng)絡獲取JSON字符串。

JSON對象是一種鍵值對的數(shù)據(jù)格式,我們可以通過json_object_get()函數(shù)獲取對象中指定鍵對應的值。在這里我們通過“name”和“age”鍵獲取值,類型分別為字符串和整數(shù)。

最后調(diào)用json_decref()函數(shù)釋放JSON對象。