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

c實現json轉xml文件

錢瀠龍1年前7瀏覽0評論

JSON和XML都是用于數據的傳輸和存儲格式,但它們的語法有所不同。在C語言中,通過JSON轉XML功能可以將JSON格式的數據轉換為XML格式的數據,從而方便XML的處理。

下面是C語言實現JSON轉XML的代碼:

#include#include#include#include "cJSON.h"
#define MAX_SIZE 2048
int json_to_xml(const char* json_str, char* xml_str) {
cJSON* json = cJSON_Parse(json_str);
if (!json)
return -1;
strcpy(xml_str, "");
cJSON* item = json->child;
while (item) {
strcat(xml_str, "<");
strcat(xml_str, item->string);
if (item->valuestring) {
strcat(xml_str, ">");
strcat(xml_str, item->valuestring);
strcat(xml_str, "string);
strcat(xml_str, ">");
}
else {
strcat(xml_str, ">");
cJSON* sub_item = item->child;
while (sub_item) {
strcat(xml_str, "<");
strcat(xml_str, sub_item->string);
if (sub_item->valuestring) {
strcat(xml_str, ">");
strcat(xml_str, sub_item->valuestring);
strcat(xml_str, "string);
strcat(xml_str, ">");
}
else {
strcat(xml_str, ">");
strcat(xml_str, "string);
strcat(xml_str, ">");
}
sub_item = sub_item->next;
}
strcat(xml_str, "string);
strcat(xml_str, ">");
}
item = item->next;
}
cJSON_Delete(json);
return strlen(xml_str);
}
int main() {
char json_str[] = "{\"name\":\"Tom\",\"age\":20,\"address\":{\"city\":\"Shanghai\",\"address\":\"No.123 Road\"}}";
char xml_str[MAX_SIZE];
int ret = json_to_xml(json_str, xml_str);
if (ret<= 0)
return -1;
printf("JSON to XML:\n%s", xml_str);
return 0;
}

以上代碼使用了cJSON庫,首先解析JSON字符串,然后將解析后的cJSON對象轉換為XML字符串。在轉換XML時,使用循環遍歷子項,根據子項類型進行不同的處理。