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

c json轉換成字典

錢衛國2年前8瀏覽0評論

C語言常用的數據格式是結構體,而JSON格式的數據在網絡傳輸和存儲中非常常見。如果要將從服務器接收到的JSON數據轉換成C語言的結構體,就需要用到解析JSON的工具。本文將介紹如何通過使用CJSON庫將JSON格式的數據轉換成C語言中的字典。

首先需要下載CJSON庫,可以在官網上下載對應的庫文件,或者在終端中使用命令進行安裝。

sudo apt-get install libcjson-dev

安裝成功后,在需要使用的文件中包含頭文件和使用之前聲明的結構體。

#include <stdio.h>
#include <cjson/cJSON.h>
//聲明結構體
typedef struct {
int id;
char name[20];
} UserInfo;

接下來就可以根據json數據的格式開始解析,并將解析結果賦值給結構體中對應的屬性。

char* jsonStr = "{\"id\":1,\"name\":\"John\"}";
//解析json數據
cJSON* root = cJSON_Parse(jsonStr);
if (root == NULL) {
printf("json解析失敗");
return;
}
//將解析結果賦值給結構體
UserInfo userInfo;
cJSON* idJson = cJSON_GetObjectItem(root, "id");
userInfo.id = idJson->valueint;
cJSON* nameJson = cJSON_GetObjectItem(root, "name");
strcpy(userInfo.name, nameJson->valuestring);

最后需要手動釋放掉解析出來的cJSON對象。

cJSON_Delete(root);

通過以上步驟,就可以將從服務器接收到的JSON數據成功轉換成C語言中的字典,方便進行后續操作。