有没有办法在C ++中将JSON转换为XML?

时间:2014-06-27 14:50:10

标签: c++ xml json

你知道任何现有的解析器吗?似乎有一些XML到JSON,但不是另一种方式。

1 个答案:

答案 0 :(得分:1)

如果您在谷歌上没有找到任何内容,只需使用json parser并使用xml writer编写您自己的转换器。

使用专用数据结构,例如Boost.PropertyTree,您可以同时获得两种功能

示例:

using namespace boost::property_tree;
static const std::string 
 json(""{\"my_point\":{\"name\":\"test point\",\"point\":{\"x\":1,\"y\":2,\"z\":3}}}"");

try {
  ptree pt;
  std::istringstream ss(json);
  read_json(ss, pt);
  std::ostringstream out;
  write_xml(out, pt);
  std::cout << out.str() << std::endl;
}
catch (std::exception &e) {
  std::cerr << e.what() << std::endl;
}

输出:

<?xml version="1.0" encoding="utf-8"?>
<my_point><name>test point</name><point><x>1</x><y>2</y><z>3</z></point></my_point>

可能不是您想要的。如果是,请考虑第一句中描绘的路径