很多時(shí)候,我們需要通過(guò)C語(yǔ)言來(lái)操作JSON格式的數(shù)據(jù)。但是,當(dāng)需要存儲(chǔ)中文時(shí),卻會(huì)遇到一些問(wèn)題。
JSON是一種文本格式,而中文卻是Unicode編碼的,因此存儲(chǔ)中文需要進(jìn)行一些轉(zhuǎn)換。在C語(yǔ)言中,我們可以使用第三方庫(kù)的方式來(lái)實(shí)現(xiàn)JSON中文存儲(chǔ)。
#include<stdio.h> #include<stdlib.h> #include<cJSON.h> int main() { cJSON* root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", "小明"); cJSON_AddItemToObject(root, "array", cJSON_CreateStringArray(["北京", "上海"])); cJSON_Print(root); return 0; }
上述代碼演示了使用cJSON庫(kù)來(lái)存儲(chǔ)中文的過(guò)程。在這里,我們使用了cJSON_CreateObject()函數(shù)創(chuàng)建了一個(gè)JSON對(duì)象,并使用cJSON_AddStringToObject()函數(shù)來(lái)添加一個(gè)字符串鍵值對(duì)。
除此之外,我們還使用了cJSON_AddItemToObject()函數(shù)來(lái)添加一個(gè)數(shù)組鍵值對(duì),并使用了cJSON_CreateStringArray()函數(shù)來(lái)創(chuàng)建了一個(gè)字符串?dāng)?shù)組。
最后,我們使用了cJSON_Print()函數(shù)來(lái)打印我們創(chuàng)建的JSON對(duì)象。這個(gè)函數(shù)將會(huì)將JSON對(duì)象轉(zhuǎn)換成字符串,并輸出在終端中。