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

c 怎么把一個字符串轉為json

呂致盈2年前10瀏覽0評論

C語言在處理字符串和JSON格式轉換時,通常需要使用到一些第三方庫,如cJSON、json-c等。下面我們以cJSON庫為例,講解如何把一個字符串轉為JSON。

#include <stdio.h>
#include <stdlib.h>
#include "cJSON.h"
int main()
{
char* str = "{\"name\":\"Jack\", \"age\": 18, \"gender\": \"male\"}";
cJSON* root = cJSON_Parse(str);
if (root)
{
cJSON* nameTag = cJSON_GetObjectItem(root, "name");
if (nameTag)
{
char* name = cJSON_Print(nameTag);
printf("name: %s\n", name);
free(name);
}
cJSON* ageTag = cJSON_GetObjectItem(root, "age");
if (ageTag)
{
int age = ageTag->valueint;
printf("age: %d\n", age);
}
cJSON* genderTag = cJSON_GetObjectItem(root, "gender");
if (genderTag)
{
char* gender = genderTag->valuestring;
printf("gender: %s\n", gender);
}
cJSON_Delete(root);
}
return 0;
}

我們首先聲明一個字符串,該字符串是若干個鍵值對,表示一個JSON格式的數據。然后通過cJSON_Parse()函數將字符串轉為對應的cJSON對象,再通過cJSON_GetObjectItem()函數獲取指定字段的值。

需要注意的是,在獲取一個字符串字段的值時,需要通過valuestring取出字符串值。而獲取一個整型字段的值,則需要通過valueint。獲取其他類型的字段時,也需要根據對應類型的value進行取值。