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

c xml轉為json

錢淋西2年前7瀏覽0評論

在開發Web應用程序時,我們經常需要在不同的格式之間轉換數據。C語言中,一些常見的數據格式包括XML和JSON。

在將XML數據轉換為JSON數據時,我們可以使用一些現成的庫來進行。例如,libxml和json-c都可以在C語言中使用。

//使用libxml將XML轉換為JSON
#include#include#include#include#includeint main()
{
char *xml = "John30";
xmlDocPtr doc;
xmlNodePtr root;
doc = xmlParseMemory(xml, strlen(xml));
root = xmlDocGetRootElement(doc);
json_object *jobj = json_object_new_object();
xmlNodePtr cur = NULL;
for (cur = root->children; cur != NULL; cur = cur->next)
{
if (cur->type == XML_ELEMENT_NODE)
{
char *name = (char *)cur->name;
char *content = (char *)xmlNodeGetContent(cur);
json_object *jcontent = json_object_new_string(content);
json_object_object_add(jobj, name, jcontent);
}
}
printf("%s\n", json_object_to_json_string(jobj));
xmlFreeDoc(doc);
return 0;
}

在上面的代碼中,我們首先定義了一個XML字符串,并使用libxml的函數將其解析為一個XML文檔對象。然后,我們遍歷文檔中的每個元素,將其轉換為JSON對象并添加到一個新的JSON對象中。最后,我們使用json-c庫中的函數將JSON對象轉換為字符串,并輸出結果。

使用上述代碼,可以將XML字符串轉換為以下JSON字符串:

{
"name": "John",
"age": "30"
}

可以看到,每個XML元素都被轉換為了一個JSON屬性,并且它們的值都是字符串。如果需要將XML元素轉換為其他類型的值,例如數字或布爾值,我們可以使用json-c庫中提供的各種函數。