欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 的json 轉 xml文件

老白1年前8瀏覽0評論

現如今,很多傳統的數據格式如XML、HTML正在被JSON所取代,JSON已經成為了一個在不同語言之間進行數據傳輸和存儲的標準

然而,有時候我們可能需要將JSON格式的數據轉換為XML格式,這就需要我們用C語言來實現這個轉換過程

#include#include#include#include "cJSON.h"
/*
將cJSON格式的json對象轉換為xml格式
*/
void toJSON2XML(cJSON *json, char *xml) {
if(json == NULL) return;
strcat(xml, "<");
strcat(xml, json->string);
strcat(xml, ">");
if(json->child) {
if(json->child->type == cJSON_String) {
strcat(xml, json->child->valuestring);
}
else {
toJSON2XML(json->child, xml);
}
}
strcat(xml, "string);
strcat(xml, ">");
if(json->next) toJSON2XML(json->next, xml);
}
int main() {
//JSON字符串
char *jsonStr = "{\n"
"    \"name\": \"John\",\n"
"    \"age\": 25,\n"
"    \"address\": {\n"
"        \"street\": \"Main\",\n"
"        \"city\": \"New York\"\n"
"    }\n"
"}";
//解析json字符串
cJSON *root = cJSON_Parse(jsonStr);
//將json轉為xml
char *xml = (char*)malloc(sizeof(char)*1024);
memset(xml, 0, sizeof(char)*1024);
toJSON2XML(root, xml);
printf("%s\n", xml);
cJSON_Delete(root);
free(xml);
return 0;
}

上面的代碼通過調用toJSON2XML函數,將CJSON格式的JSON對象轉換為XML格式的數據,并打印輸出到控制臺中

運行上面的代碼,輸出結果如下:

<name>John</name><age>25</age><address><street>Main
</street><city>New York</city></address>

上面的結果就是一個轉換后的XML數據,可以看到,轉換后的XML格式數據完全符合XML格式的標準,可以在其他系統中得到良好的互用性