Questions tagged «jackson»

Jackson是一个Java库,用于处理诸如读写(解析/生成)以及与Java对象之间的数据绑定之类的任务。尽管主要用于JSON,但Jackson还支持许多其他数据格式,例如Avro,CBOR,CSV,Java属性,Protobuf,Smile,XML和YAML。

7
如何使用Jackson来反序列化对象数组
在杰克逊的数据绑定的文档表明,杰克逊支持deserialising“所有支持类型的数组”,但我不能找出确切的语法这一点。 对于单个对象,我可以这样做: //json input { "id" : "junk", "stuff" : "things" } //Java MyClass instance = objectMapper.readValue(json, MyClass.class); 现在,对于数组,我想这样做: //json input [{ "id" : "junk", "stuff" : "things" }, { "id" : "spam", "stuff" : "eggs" }] //Java List<MyClass> entries = ? 有人知道是否有不可思议的命令吗?如果没有,那么解决方案是什么?
779 java  json  jackson 


30
带有JSON的杰克逊:无法识别的字段,未标记为可忽略
我需要将某个JSON字符串转换为Java对象。我正在使用Jackson进行JSON处理。我无法控制输入的JSON(我从Web服务读取)。这是我输入的JSON: {"wrapper":[{"id":"13","name":"Fred"}]} 这是一个简化的用例: private void tryReading() { String jsonStr = "{\"wrapper\"\:[{\"id\":\"13\",\"name\":\"Fred\"}]}"; ObjectMapper mapper = new ObjectMapper(); Wrapper wrapper = null; try { wrapper = mapper.readValue(jsonStr , Wrapper.class); } catch (Exception e) { e.printStackTrace(); } System.out.println("wrapper = " + wrapper); } 我的实体类是: public Class Student { private String name; private String …

13
JsonMappingException:未找到类型[简单类型,类]的合适构造函数:无法从JSON对象实例化
尝试获取JSON请求并处理它时出现以下错误: org.codehaus.jackson.map.JsonMappingException:没有找到适合类型[简单类型,类com.myweb.ApplesDO]的合适构造函数:无法从JSON对象实例化(需要添加/启用类型信息吗?) 这是我尝试发送的JSON: { "applesDO" : [ { "apple" : "Green Apple" }, { "apple" : "Red Apple" } ] } 在Controller中,我具有以下方法签名: @RequestMapping("showApples.do") public String getApples(@RequestBody final AllApplesDO applesRequest){ // Method Code } AllApplesDO是ApplesDO的包装: public class AllApplesDO { private List<ApplesDO> applesDO; public List<ApplesDO> getApplesDO() { return applesDO; } public void …

7
表示JSON中的null
在JSON中返回空值的首选方法是什么?对基元有不同的偏好吗? 例如,如果我在服务器上的对象具有一个名为“ myCount”的无值的整数,则该值的最正确的JSON为: {} 要么 { "myCount": null } 要么 { "myCount": 0 } 字符串的相同问题-如果我在服务器上使用空字符串“ myString”,则是最好的JSON: {} 要么 { "myString": null } 要么 { "myString": "" } 或(上帝帮我) { "myString": "null" } 我喜欢将集合以JSON形式表示为空集合的约定http://jtechies.blogspot.nl/2012/07/item-43-return-empty-arrays-or.html 空数组将被表示: { "myArray": [] } 编辑摘要 “个人偏爱”的论点似乎是现实的,但在短期内,作为一个社区,我们将消耗越来越多的不同服务/资源。JSON结构的约定将有助于规范所述服务的使用和重用。至于建立标准,我建议采用大多数Jackson公约,但有一些例外: 对象优于基元。 空集合优先于null。 没有值的对象表示为null。 基元返回其值。 如果您要返回一个大多数为空值的JSON对象,则可能有一个候选者可以重构为多个服务。 { "value1": null, "value2": null, …
422 json  jackson  gson 

22
无限递归与Jackson JSON和Hibernate JPA问题
当尝试将具有双向关联的JPA对象转换为JSON时,我不断 org.codehaus.jackson.map.JsonMappingException: Infinite recursion (StackOverflowError) 我所发现的只是该线程,基本上以建议避免双向关联为结尾。有谁知道这个春季错误的解决方法? ------编辑2010-07-24 16:26:22 ------- 代码段: 业务对象1: @Entity @Table(name = "ta_trainee", uniqueConstraints = {@UniqueConstraint(columnNames = {"id"})}) public class Trainee extends BusinessObject { @Id @GeneratedValue(strategy = GenerationType.TABLE) @Column(name = "id", nullable = false) private Integer id; @Column(name = "name", nullable = true) private String name; @Column(name = …
412 java  json  orm  spring-mvc  jackson 

5
杰克逊诉 格森[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 在搜索了一些现有库的JSON之后,我最终得到了这两个: 杰克逊 谷歌GSon 我对GSON有点偏爱,但网上有消息说GSon受到某些天体性能问题的困扰(截至2009年9月)。 我正在继续我的比较;同时,我正在寻找帮助下定决心。
363 java  json  comparison  gson  jackson 

5
我应该将Jackson的ObjectMapper声明为静态字段吗?
杰克逊图书馆的ObjectMapper班级似乎是线程安全的。 这是否意味着我应该ObjectMapper像这样将我声明为静态字段? class Me { private static final ObjectMapper mapper = new ObjectMapper(); } 而不是像这样的实例级字段? class Me { private final ObjectMapper mapper = new ObjectMapper(); }
361 java  json  jackson 

6
仅在序列化过程中使用@JsonIgnore,而不是反序列化
我有一个发送到服务器或从服务器发送的用户对象。发送用户对象时,我不想将哈希密码发送给客户端。因此,我添加@JsonIgnore了password属性,但是这也阻止了将其反序列化为密码,这使得在没有密码的情况下很难注册用户。 我怎样才能只@JsonIgnore适用于序列化而不适用于反序列化?我使用的是Spring JSONView,因此对的控制并不多ObjectMapper。 我尝试过的事情: 添加@JsonIgnore到属性 @JsonIgnore仅添加getter方法

18
使用Jackson(JSON)进行序列化-是否获得“找不到序列化程序”?
当尝试使用Jackson序列化一个非常简单的对象时,出现异常。错误: org.codehaus.jackson.map.JsonMappingException:未找到类MyPackage.TestA的序列化程序,也未找到创建BeanSerializer的属性(为避免异常,请禁用SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS)) 以下是要序列化的简单类和代码。 谁能告诉我为什么我会收到此错误? public class TestA { String SomeString = "asd"; } TestA testA = new TestA(); ObjectMapper om = new ObjectMapper(); try { String testAString = om.writeValueAsString(testA); // error here! TestA newTestA = om.readValue(testAString, TestA.class); } catch (JsonGenerationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch …
262 java  json  jackson 

12
将JSON数据转换为Java对象
我希望能够从Java操作方法中的JSON字符串访问属性。只需说一下即可使用该字符串myJsonString = object.getJson()。以下是该字符串的示例: { 'title': 'ComputingandInformationsystems', 'id': 1, 'children': 'true', 'groups': [{ 'title': 'LeveloneCIS', 'id': 2, 'children': 'true', 'groups': [{ 'title': 'IntroToComputingandInternet', 'id': 3, 'children': 'false', 'groups': [] }] }] } 在此字符串中,每个JSON对象都包含其他JSON对象的数组。目的是提取ID列表,其中任何给定对象都具有包含其他JSON对象的group属性。我将Google的Gson视为潜在的JSON插件。谁能提供某种形式的指导,说明如何从此JSON字符串生成Java?
262 java  json  jackson  gson 

6
如何在杰克逊的JsonNode中解析JSON字符串?
它应该是如此简单,但是在尝试一个小时的尴尬之后,我只是找不到它。 我需要获取一个JSON字符串,例如{"k1":v1,"k2":v2},解析为JsonNode。 JsonFactory factory = new JsonFactory(); JsonParser jp = factory.createJsonParser("{\"k1\":\"v1\"}"); JsonNode actualObj = jp.readValueAsTree(); 给 java.lang.IllegalStateException: No ObjectCodec defined for the parser, can not deserialize JSON into JsonNode tree
231 java  json  parsing  jackson 

13
Jackson枚举序列化和反序列化器
我正在使用JAVA 1.6和Jackson 1.9.9我有一个枚举 public enum Event { FORGOT_PASSWORD("forgot password"); private final String value; private Event(final String description) { this.value = description; } @JsonValue final String value() { return this.value; } } 我添加了一个@JsonValue,这似乎可以将对象序列化为: {"event":"forgot password"} 但是当我尝试反序列化时,我得到了 Caused by: org.codehaus.jackson.map.JsonMappingException: Can not construct instance of com.globalrelay.gas.appsjson.authportal.Event from String value 'forgot password': value …

16
使用Jackson JSON映射器序列化/反序列化Java 8 java.time
如何在Java 8 LocalDateTime中使用Jackson JSON映射器? org.codehaus.jackson.map.JsonMappingException:无法从JSON字符串实例化[简单类型,类java.time.LocalDateTime]类型的值;没有单字符串构造函数/工厂方法(通过引用链:MyDTO [“ field1”]-> SubDTO [“ date”])
221 jackson  java-time 

7
如何指定杰克逊只使用字段-最好是全局使用
默认的jackon行为似乎同时使用属性(getter和setter)和字段来序列化和反序列化为json。 我想将这些字段用作序列化配置的规范来源,因此根本不希望杰克逊查看属性。 我可以使用注解在单个类的基础上执行此操作: @JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE) 但是我不想在每堂课上都讲这个... 是否可以全局配置?喜欢添加一些到对象映射器?
189 java  json  jackson 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.