3

Restlet で StringRepresentation Java クラスを使用して、xml 文字列を json 文字列に変換しました。私のxml文字列には「タイプ」属性があります。次に例を示します。

<contacts>
   <contact index="0" type="type1" name="contact1">
   <contact index="1" type="type2" name="contact2"> 
</contacts>

変換後、json 文字列の結果にない属性「type」を除いて、すべて問題ないことがわかりました。

多くの場合、「タイプ」は特別な名前であることは知っています。StringRepresentation クラスが「タイプ」を共通の属性名として扱うように設定できる Restlet の設定はありますか?

4

1 に答える 1

2

自力で解決しました。答えは、XMLSerializer の setTypeHintsEnabled(false) です。XMLSerializer は、StringPresentation ではなく、属性「type」を除外しました。コードは次のとおりです。

XMLSerializer serializer = new XMLSerializer();
serializer.setTypeHintsEnabled(false);
result = new StringRepresentation(serializer.read(xml).toString(), MediaType.APPLICATION_JSON, Language.ALL, CharacterSet.UTF_8);
于 2012-11-02T16:46:37.513 に答える