java - FasterXML/Jackson Java 库中是否有与 new Gson().toJson(Object) 等效的函数?

标签 java json jackson gson fasterxml

我的问题非常基本:是否有相当于new Gson().toJson(Object)的东西在 FasterXML/Jackson Java 库?

如果是,哪一个性能更好?

谢谢

最佳答案

正如@Zutty建议的:

In Jackson new ObjectMapper().writeValueAsString(Object)

我尝试过,但得到了 com.fasterxml.jackson.databind.JsonMappingException

com.fasterxml.jackson.databind.JsonMappingException: Direct self-reference leading to cycle (through reference chain: com.learnkeeper.shared.entities.RootBook["permissionRef"]->com.googlecode.objectify.impl.ref.LiveRef["key"]->com.googlecode.objectify.Key["root"])
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter._handleSelfReference(BeanPropertyWriter.java:781)
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:569)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:666)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:156)
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:575)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:666)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:156)
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:575)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:666)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:156)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:129)
at com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:3385)
at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:2779)

使用new Gson().toJson(Object)时,我得到了一个不错的Json:

{"id":4512395720392704,"origin":"FRENCH","target":"ENGLISH","wordKeys":[],"name":"Test","creation":"Aug 11, 2015 8:43:02 PM","modification":"Aug 11, 2015 8:43:02 PM","permissionRef":{"key":{"raw":{"kind":"Permission","id":6737807255011328}}},"lastVersion":true}

其他信息:我想要记录的所有Java对象实现java.io.Serialized

关于java - FasterXML/Jackson Java 库中是否有与 new Gson().toJson(Object) 等效的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31939331/

相关文章:

java - "How to fix ' MFA身份验证数据库连接错误“

javascript - JS 在点击 asp :Button 时不起作用

java - 如何全局应用 @JsonIgnoreProperties(value = { "id"}) 所有 POJO 类应用程序 (jackson api)

java - 反序列化 JAX-RS JSON 对象时解析 JPA 关联

java - 多态 Jackson 反序列化 : getting either a string or an array of strings

Java动态布局

java - 为什么 SimpleDateFormat 无法解析日期字符串中的工作日?

java - 如何从 Java 打开文件? (具体来说是一个.bat文件)

php - 以特定格式向数组添加元素

javascript - 处理 d3.js 轴上的日期