Javaのxmltojsonのjsontoxml

JSONObject.fromObjectは、に注意を払う必要があり、追加の6パック、基本的な必要があります。

コモンズ-々BeanUtils-1.9.2.jar     

コモンズ・コレクション-3.2.2.jar

コモンズ-LANG-2.6.jar

コモンズ・ログ-1.2.jar

ezmorph-1.0.6.jar

JSON-libの-2.4-jdk15.jar

 

 

 

 

パッケージcom.ekingwin.bas.xmljson.utils。

輸入net.sf.json.JSON。
輸入net.sf.json.JSONArray;
輸入net.sf.json.JSONObject;
輸入net.sf.json.JSONSerializer。
輸入net.sf.json.xml.XMLSerializer。

パブリッククラスxmljson
{
公共の静的な文字列xmlToJson(文字列xmlContent)
{
IF((xmlContent == NULL)||( "" .equals(xmlContent)))
{
リターン""。
}

xmlContent = xmlContent.replace( "\のR"、 "");
xmlContent = xmlContent.replace( "の\ n"、 "");
xmlContent = xmlContent.replace( "\ tの"、 "");
xmlContent = xmlContent.replace(」」、 "");
xmlContent = xmlContent.replace( "の<item>"、 "<ITEM>");
xmlContent = xmlContent.replace( "のxmlns"、 "のxmlns")。
xmlContent = xmlContent.replace( "<Eのxmlns = \"のhttp://byd.eai.sap \ "クラス= \ "オブジェクト\">"、 "<Eののxmlns = \" http://byd.eai.sap \ "クラス= \ "オブジェクト\">");
文字列jsonContent = "";
XmlSerializerをxmlSerializernew =新しいXmlSerializerを();
(真)xmlSerializernew.setSkipNamespaces。
(真)xmlSerializernew.setRemoveNamespacePrefixFromElements。
。jsonContent = xmlSerializernew.read(xmlContent.toString())のtoString();
jsonContent = jsonContent.replace( "ヌル"、 "\" \ "")。置き換える( "[]"、 "\" \ "");
jsonContentを返します。
}

 

公共の静的な文字列jsonToXml(文字列jsonContent)
{
文字列xmlContent = "";
XmlSerializerをxmlSerializernew =新しいXmlSerializerを();
(真)xmlSerializernew.setTrimSpaces。
((jsonContent.startsWith( "["))&&(jsonContent.endsWith( "]")))であれば
{
jsonContent = jsonContent.replaceAll( ":\\は(S * \\ D + \\ \\ D +)"、 ":\" $ 1 \ "");
xmlContent = xmlSerializernew.write(JSONArray.fromObject(jsonContent))。
xmlContent = xmlContent.replace( "<Eクラス= \"オブジェクト\ ">"、 "<ITEM>");
xmlContent = xmlContent.replace( "<Eタイプ= \"数値\ ">"、 "<ITEM>");
xmlContent = xmlContent.replace( "</ E>"、 "


xmlContent = xmlContent.replace( "クラス= \ "オブジェクト\""、 "");
xmlContent = xmlContent.replace( "タイプ= \ "文字列\""、 "");
xmlContent = xmlContent.replace( "クラス= \ "アレイ\""、 "");
xmlContent = xmlContent.replace( "ヌル= \ "真の\""、 "");
xmlContent = xmlContent.replace( "タイプ= \ "数\""、 "");
}
他{
jsonContent = jsonContent.replaceAll( "\\ *はS(\\ D + \\ \\ D +)。"、 "\" $ 1 "" \)。
xmlContent = xmlSerializernew.write(JSONSerializer.toJSON(jsonContent))。
xmlContent = xmlContent.replace( "<Eクラス= \"オブジェクト\ ">"、 "<ITEM>");
xmlContent = xmlContent.replace( "<Eタイプ= \"数値\ ">"、 "<ITEM>");
xmlContent = xmlContent.replace( "</ E>"、 "</商品>")。
xmlContent = xmlContent.replace( "<O>"、 "");
xmlContent = xmlContent.replace( "</ O>"、 "");
xmlContent = xmlContent.replace( "クラス= \ "オブジェクト\""、 "");
xmlContent = xmlContent.replace( "タイプ= \ "文字列\""、 "");
xmlContent = xmlContent.replace( "クラス= \ "アレイ\""、 "");
xmlContent = xmlContent.replace( "ヌル= \ "真の\""、 "");
xmlContent = xmlContent.replace( "タイプ= \ "数\""、 "");
}
戻りxmlContent。
}


パブリック静的無効メイン(文字列[] args){
列A = "{\"リクエスト\ ":{\ R \ n" +
"\"ヘッド\ ":{\ Rの\ N" +
"\" BIZTRANSACTIONID \」。 \ "qwertyuioplkjhgfd \"、\ R \ n "+
"\" COUNTの\ ":\" 1 \"、\ R \ n "+
"\"消費者\ ":\" ERPの\"、\ R \ n」+
"\" SRVLEVELの\ ":\" 1 \ "\ R \ n" +
"\"アカウント\ ":\" \ "\ R \ n" +
"\"パスワード\ "\" "\ \ rを\ n」+
"}、\ R \ n" +
"\ R \ n" +
"\"リスト\ ":[{\ Rの\ n" +
"\"のID \ ":1.78978979、\ R \ n" +
"\"名\ ":3546545646。23165778789、\ rを\ n」は+
"\"携帯電話の\ ":12345678、\ rを\ n"は+
"\"アドレス\ ":66554.3689745、\ rを\ n"は+
"\"メール\ ":321" \テスト@ .COM \ "\ R \ n" +
"} \ R \ n" +
"] \ R \ n" +
"} \ R \ n" +
"}"。
列B =「<要求> <リスト> <ITEM> <アドレス> 66554.3689745 </アドレス> <ID> 1.78978979 </ ID> <メール> [email protected] </メール> <名前> 3546545646.23165778789 </名前> <携帯電話> 12345678 </電話> </ ITEM> </一覧> <HEAD> <ACCOUNT /> <BIZTRANSACTIONID> qwertyuioplkjhgfd </ BIZTRANSACTIONID> <CONSUMER> ERP </ CONSUMER> <COUNT> 1 </ COUNT> <PASSWORD /> <SRVLEVEL> 1 </ SRVLEVEL> </ HEAD> </リクエスト> \ R \ n」+
""。
System.out.println(jsonToXml(a)参照)。
System.out.println(xmlToJson(a)参照)。
}
}

おすすめ

転載: www.cnblogs.com/js1314/p/11590553.html