为了账号安全,请及时绑定邮箱和手机立即绑定

在Java中将JSON转换为XML

在Java中将JSON转换为XML

MYYA 2019-12-13 15:10:13
我是json的新手。我有一个程序可以从json对象生成xml。String str = "{'name':'JSON','integer':1,'double':2.0,'boolean':true,'nested':{'id':42},'array':[1,2,3]}";      JSON json = JSONSerializer.toJSON( str );      XMLSerializer xmlSerializer = new XMLSerializer();      xmlSerializer.setTypeHintsCompatibility( false );      String xml = xmlSerializer.write( json );      System.out.println(xml); 输出为:<?xml version="1.0" encoding="UTF-8"?><o><array json_class="array"><e json_type="number">1</e><e json_type="number">2</e><e json_type="number">3</e></array><boolean json_type="boolean">true</boolean><double json_type="number">2.0</double><integer json_type="number">1</integer><name json_type="string">JSON</name><nested json_class="object"><id json_type="number">42</id></nested></o>我最大的问题是如何编写自己的属性而不是json_type =“ number”,以及如何编写自己的子元素,例如。
查看完整描述

3 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

Underscore-java库具有静态方法U.jsonToXml(jsonstring)。我是该项目的维护者。现场例子


import com.github.underscore.lodash.U;


public class MyClass {

    public static void main(String args[]) {

        String json = "{\"name\":\"JSON\",\"integer\":1,\"double\":2.0,\"boolean\":true,\"nested\":{\"id\":42},\"array\":[1,2,3]}";  

        System.out.println(json); 

        String xml = U.jsonToXml(json);  

        System.out.println(xml); 

    }

}

输出:


{"name":"JSON","integer":1,"double":2.0,"boolean":true,"nested":{"id":42},"array":[1,2,3]}

<?xml version="1.0" encoding="UTF-8"?>

<root>

  <name>JSON</name>

  <integer number="true">1</integer>

  <double number="true">2.0</double>

  <boolean boolean="true">true</boolean>

  <nested>

    <id number="true">42</id>

  </nested>

  <array number="true">1</array>

  <array number="true">2</array>

  <array number="true">3</array>

</root>



查看完整回答
反对 回复 2019-12-14
  • 3 回答
  • 0 关注
  • 285 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信