• 注册
当前位置:代码四四五 > 默认分类 >正文

c xml字符串转json数据

在程序开发中,有时我们需要将一个从服务器获取的XML字符串转换为JSON格式数据。这时,我们可以使用C语言来进行字符串转换。下面是一个使用C语言实现XML字符串转换为JSON数据的示例:

#include
#include
#include
#include
#include
int main()
{
char* xmlStr = "Tom25";
xmlDocPtr doc;
xmlNodePtr root, node;
json_object* jsonObj;
doc = xmlReadMemory(xmlStr, strlen(xmlStr), NULL, NULL, 0);
root = xmlDocGetRootElement(doc);
jsonObj = json_object_new_object();
json_object_object_add(jsonObj, root->name, json_object_new_string(""));
node = root->xmlChildrenNode;
while(node)
{
json_object* subObj;
xmlChar* content;
if(node->type == XML_ELEMENT_NODE)
{
subObj = json_object_new_object();
content = xmlNodeGetContent(node);
json_object_object_add(subObj, "content", json_object_new_string((char*)content));
json_object_object_add(jsonObj, (char*)node->name, subObj);
xmlFree(content);
}
node = node->next;
}
printf("JSON string: %s\n", json_object_to_json_string(jsonObj));
json_object_put(jsonObj);
xmlFreeDoc(doc);
return 0;
}

上面的示例代码中,我们使用了libxml和json-c库来实现XML字符串转换为JSON数据。其中,首先读取XML字符串,并使用libxml将其解析成文档树。然后,我们使用json-c库来创建一个json_object,将根节点的名称作为键添加到json_object中。接着,我们遍历文档树的所有子节点,将子节点的名称作为键,子节点的内容作为值添加到json_object中。最后,将json_object转换为JSON字符串并输出。

通过上述示例代码,我们可以看到在C语言中使用libxml和json-c库实现XML字符串转换为JSON数据是比较简单的。而这种方式也更加灵活,可以满足不同项目的需要。

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 162202241@qq.com

最新评论
  • 满琳清
    2024-04-01 电脑端
    # 1楼
    xml字符串转json字符串

    个人签名,ta还没设置签名

    拉黑 举报 打赏 回复
  • 严莉
    2024-04-01 电脑端
    # 2楼
    xml字符串转对象

    个人签名,ta还没设置签名

    拉黑 举报 打赏 回复

欢迎您发表评论:

请登录之后再进行评论

登录