2016-11-15 19 views
0

Gson APIを使用してオブジェクトをjsonドキュメントに変換しています。プロパティの1つはxml文字列である文字列です。変換時にxmlが適切に出力されない場合、すべての改行は\ nに変換され、すべてのタブは\ tに変換されます。Gsonを使用して改行を文字に変換することを無視する方法

コード:

Gson gson = new GsonBuilder().disableHtmlEscaping().setPrettyPrinting().create(); 

mashalledJson = gson.toJson(documentPropertiesWrapper); 


expected Output : 

<name>InterestRates_Trade_EMEA_MUREX_OfficialEOD_CentreState</name> 
<snapshotDate>2015-01-01</snapshotDate> 

Actual Output : 

<name>InterestRates_Trade_EMEA_MUREX_OfficialEOD_CentreState</name>\r\n\t<snapshotDate>2015-01-01</snapshotDate> 

答えて

0

これは文字列replaceAll()メソッドを使用して達成する必要があります。オブジェクトがJSONに変換される前に、改行文字、タブ、改行などを空の文字列に置き換える必要があります。

Gsonには、これらの文字を削除する機能はありません。

1)オブジェクト

3のXML文字列の値を設定)全て

xmlString.replaceAll("\r", "").replaceAll("\n", "").replaceAll("\t", "") 

2の交換)JSON

にオブジェクトを変換

編集: -

新しい行が必要な場合は、新しい行 "\ n"を置き換えない以下を使用してください。

xmlString.replaceAll("\r", "").replaceAll("\t", "") 
+0

私は上記を試しましたが、まだ私が期待していたものではありません。この変更の出力はInterestRates_Trade_EMEA_MUREX_OfficialEOD_CentreState 2015年1月1日 、このようなものになった後、私はsnapshotdateでは、新しい行が必要な場合は、交換しないでください次の行 –

+0

に来てほしいです\ n ""と2番目のreplaceAllを削除して試してみてください。 – notionquest

関連する問題