3

我在 Restlet 中使用 StringRepresentation java 类将 xml 字符串转换为 json 字符串。我的 xml 字符串中有一个“类型”属性,例如:

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

转换后,我发现一切正常,除了属性“type”不在 json 字符串结果中。

我知道“类型”在很多情况下是一个特殊的名称。Restlet 中是否有任何配置可以设置为让 StringRepresentation 类将“类型”视为通用属性名称?

4

1 回答 1

2

自己解决了。答案是 XMLSerializer 中的 setTypeHintsEnabled(false)。XMLSerializer 过滤掉了属性“type”,而不是 StringPresentation。这是代码:

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 回答