首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >相当于flexjson.JSONDeserializer和flexjson.JSONSerializer的java XML

相当于flexjson.JSONDeserializer和flexjson.JSONSerializer的java XML
EN

Stack Overflow用户
提问于 2012-12-07 05:30:07
回答 2查看 474关注 0票数 0

我有一些使用flexjson.JSONDeserializer和flexjson.JSONSerializer的Java代码。(简单地说,JSONDeserializer使用来自JSON字符串的属性值对创建一个类实例,JSONSerializer获取一个类实例并创建JSON字符串。)

现在我也需要对XML使用类似的东西,什么是最好的匹配,有没有类似但性能更好的东西?

简单的例子

代码语言:javascript
复制
class X {
    private Integer a;
    public void setA(Integer a);
    public Integer getA(); 
}

with json equal to {"a":1} I have the following
new JSONDeserializer<X>().use(null, X.class).deserialize(json);

with json equal to [{"a":1},{"a":2}]
new JSONDeserializer<List<X>>().use(null, ArrayList.class).use("values", X.class).deserialize(json);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-07 07:29:58

编辑Comparision of XStream and JAXB here我仍然需要再次比较它们。结束编辑

XStream似乎比JAXB更简单,因为我也在处理X的集合

序列化的代码很简单

代码语言:javascript
复制
return new XStream().toXML(collection);

Maven依赖项是

代码语言:javascript
复制
<dependency>
    <groupId>com.thoughtworks.xstream</groupId>
    <artifactId>xstream</artifactId>
    <version>1.4.3</version>
</dependency>
<dependency>
    <groupId>xmlpull</groupId>
    <artifactId>xmlpull</artifactId>
    <version>1.1.3.1</version>
</dependency>

并在java文件中添加

代码语言:javascript
复制
import com.thoughtworks.xstream.XStream;
票数 0
EN

Stack Overflow用户

发布于 2012-12-07 05:46:13

对于执行Java对象与XML之间的“哑巴”序列化/反序列化,最好的方法是使用javax.xml.bind.JAXB类的静态方法。marshal()unmarshal()方法应该提供与您所使用的flexjson类似的功能。然而,我不能谈论性能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13752965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档