以下に示すようなXML文字列があります。
<s:Envelope
xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><Response
xmlns="http://tempuri.org/"><UserResult><Users xmlns=""><User>
<Message>Success</Message>
<UserId>213213213</UserId>
<FullName>Abc</FullName>
<Roles>
<Role>
<RoleId>23232333</RoleId>
<RoleName>Salesperson</RoleName>
</Role>
</Roles>
</User>
</Users>
</UserResult></Response>
</s:Body>
</s:Envelope>
XMLをJSONに変換することは可能ですか?
この方法でも試すことができます。私は自分で試してみました。
ステップ1: Java-json.jar をダウンロードしてください
ステップ2:これをプロジェクトの/libs
フォルダーに追加し、ビルドパスに追加します。
ステップ3:その後、次のように使用します
探す輸入品
import org.json.JSONException;
import org.json.JSONObject;
import org.json.XML;
サンプル文字列
String sampleXml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ "<mobilegate>"
+"<timestamp>232423423423</timestamp>"
+ "<txn>" + "Transaction" + "</txn>"
+ "<amt>" + 0 + "</amt>"
+ "</mobilegate>";
ジョンソン・ストリング
JSONObject jsonObj = null;
try {
jsonObj = XML.toJSONObject(sampleXml);
} catch (JSONException e) {
Log.e("JSON exception", e.getMessage());
e.printStackTrace();
}
Log.d("XML", sampleXml);
Log.d("JSON", jsonObj.toString());
出力:
XML:
<?xml version="1.0" encoding="utf-8"?><mobilegate><timestamp>232423423423</timestamp><txn>Transaction</txn><amt>0</amt></mobilegate>
JSON:
{"mobilegate":{"timestamp":232423423423,"amt":0,"txn":"Transaction"}}
json-lib
を追加するライブラリであるJSON support to any Java program
を使用することをお勧めします。 json-libはXMLを取得し、それをJSONオブジェクトに変換できます。
Json-libを取得できます here
例えば。
String xml = "your xml string";
XMLSerializer xmlSerializer = new XMLSerializer();
JSON json = xmlSerializer.read( xml );
nderscore-Java には静的メソッドU.xmlToJson(xml)
があります。私はプロジェクトのメンテナーです。 実例
import com.github.underscore.lodash.U;
U.xmlToJson("<a>\n <b></b>\n <b></b>\n</a>");
Xmlをjacksonオブジェクトに変換してから、jackson jsonを使用できます。
Jackson xmlにXmlPullサポートを追加しようとしました。ここで分岐したプロジェクトを見つけます。
https://github.com/finvu/jackson-dataformat-xml
現在、バージョン2.9.6でのみサポートされています。 (ブランチjackson-dataformat-xml-2.9.6-XmlPullのクローンを作成します)
申し訳ありませんが、時間の制約により詳細なドキュメントを提供することはできません。特定のブランチをプルしてjarをビルドするためのgitとmavenの知識がある場合は、比較的簡単です。
Jackson xmlのドキュメントは、jackson xml gitのホームページにあります:
https://github.com/finvu/jackson-dataformat-xml/tree/jackson-dataformat-xml-2.9.6-XmlPull