1. ホーム
  2. java

[解決済み] JavaでJSONをXMLに変換する

2022-03-12 09:12:21

質問

私は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" の代わりに独自の属性を記述する方法と、.NETのような独自のサブ要素を記述することです。

どのように解決するのですか?

json.orgの(優れた)JSON-Javaライブラリを使用します。

JSONObject json = new JSONObject(str);
String xml = XML.toString(json);

toString は、XML ルートノードの名前を指定するための第二引数を取ることができます。

このライブラリは、XMLからJSONに変換する際にも XML.toJSONObject(java.lang.String string)

を確認します。 Javadoc

へのリンク githubリポジトリ

POM

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20160212</version>
</dependency>

元の記事は新しいリンクで更新されました。