Tag: json

jackson没有反序列化它已序列化的通用列表

当使用Apache Jersey与Jackson进行JSON序列化时(在服务器和客户端上),我在反序列化通用List时遇到了问题。 我生成的JSON如下,“data”中的所有3个类都实现了“CheckStatusDetail”: { “errorCode” : 0, “errorMessage” : null, “type” : “array”, “data” : [ { “@class” : “com.rrr.base.status.module.dto.DiscoveryAgentCheckStatusDetail”, “serverInfo” : { “@class” : “com.rrr.base.util.discovery.config.xml.XMLServerInfo”, “name” : “java”, “location” : “THEO”, “description” : “sddgs”, “group” : “java”, “aliases” : [ “mercury” ] } }, { “@class” : “com.rrr.base.status.module.dto.MongoDBCheckStatusDetail”, “addresses” : [ “localhost:27017” ], “version” […]

J2ME的JSON解析器

我需要一个适用于J2ME / CLDC 1.1的基本JSON解析器。 Google搜索会在此返回大量答案(有些甚至在stackoverflow上),但似乎都指向不再可用的库和解决方案(例如,批次指向应该在json.org上的实现)网站,但至少我找不到任何不是J2SE的东西)。 到目前为止,我最大的希望是这里链接的源: https : //meapplicationdevelopers.dev.java.net/mobileajax.html ,但从那个我甚至找不到直接下载代码的方法。 鉴于Java在所有其他方面的成熟状态,肯定必须有一个地方我可以使用预编译的JAR来从J2ME解析JSON?

Jersey ClientResponse.getEntity的generics类型

我遇到了使用jeresy ClientRespone.getEntity反序列化的问题 我试图遵循一些教程和问题,包括: http : //jersey.576304.n2.nabble.com/How-can-I-parse-a-java-util-List-lt-gt-Is-它支持泽西客户端-tdd2300852.html https://jersey.java.net/nonav/documentation/1.5/json.html http://www.programcreek.com/java-api-examples/的index.php?API = com.sun.jersey.api.client.GenericType 我仍然一遍又一遍地得到同样的例外 我的目标是:而不是: response.getEntity(String.class); –> {“name”:”Ben”,”type”:”The man”,”id”:0} 然后解析它(例如使用Jackson),我想让实体进入我的POJO对象。 到目前为止,这是我的尝试: 服务器端: @POST @Path(“/account”) // route to a specific method.re @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public Response saveDataIntoHash(Account account) { Account createdAccount = new Account(account.getName(), account.getType()); accountHash.put(createdAccount.getID(), createdAccount); return Response.status(201).entity(new AccountResponse(createdAccount.getID())).build(); } 服务器端帐户类: private String name; private String type; private int […]

为什么我无法使用Jackson Java库解包和序列化Java映射?

我的bean看起来像这样: class MyBean { private @JsonUnwrapped HashMap map = new HashMap(); private String name; public HashMap getMap() { return map; } public void setMap(HashMap map) { this.map = map; } public String getName() { return name; } public void setName(String name) { this.name = name; } } 当我使用以下代码序列化bean时: MyBean bean = new MyBean(); HashMap map […]

如何在Jackson中为generics类型创建自定义反序列化器?

想象一下以下场景: class Foo { …. } class Bar { Foo foo; } 我想为Foo编写一个自定义Jackson解串器。 为了做到这一点(例如,为了反序列化具有Foo属性的Bar类),我需要知道在反序列化时在Bar使用的Foo的具体类型(例如,我需要知道)那个特定情况下T就是Something )。 如何编写这样的解串器? 应该可以这样做,因为jackson用类型集合和地图来做。 澄清: 似乎有2个部分来解决问题: 1)在Bar获取声明的属性类型foo并使用它来反序列化Foo 2)在反序列化时找出我们在类Bar中对属性foo进行反序列化以便成功完成步骤1) 如何完成1和2?

jackson动态属性名称

我想序列化一个对象,以便根据字段的类型对其中一个字段进行不同的命名。 例如: public class Response { private Status status; private String error; private Object data; [ getters, setters ] } 在这里,我希望将字段data序列化为类似data.getClass.getName()而不是总是有一个名为data的字段,根据情况包含不同的类型。 我如何使用Jackson实现这样的技巧?

如何在java中将列表数据转换为json

我有一个函数,它在java类中返回Data as List 。 现在根据我的需要,我必须将其转换为Json格式。 以下是我的function代码片段: public static List getCartList() { List cartList = new Vector(cartMap.keySet().size()); for(Product p : cartMap.keySet()) { cartList.add(p); } return cartList; } 我试图通过使用此代码转换为json但它给出类型不匹配错误,因为函数是List类型… public static List getCartList() { List cartList = new Vector(cartMap.keySet().size()); for(Product p : cartMap.keySet()) { cartList.add(p); } Gson gson = new Gson(); // convert your list to json […]

将JSON反序列化为现有对象(Java)

我想知道如何让Jackson JSON库将JSON反序列化为现有对象? 我试图找到如何做到这一点; 但它似乎只能采取一个类并自己实例化它。 或者,如果不可能,我想知道是否有任何Java JSON反序列化库可以做到这一点。 这似乎是C#的一个相应问题:将数据从JSON字符串覆盖到现有对象实例 。 看来JSON.NET有一个PopulateObject(字符串,对象)。

jackson动态改变JsonIgnore

我有一个类,里面也有变量。 有时我想忽略一些字段,有时候不反序列化(也许在序列化时)。 我怎么能在jackson做到这一点?

使用Jackson自定义JSON反序列化

我正在使用Flickr API 。 调用flickr.test.login方法时,默认的JSON结果为: { “user”: { “id”: “21207597@N07”, “username”: { “_content”: “jamalfanaian” } }, “stat”: “ok” } 我想将此响应解析为Java对象: public class FlickrAccount { private String id; private String username; // … getter & setter … } 应该像这样映射JSON属性: “user” -> “id” ==> FlickrAccount.id “user” -> “username” -> “_content” ==> FlickrAccount.username 不幸的是,我无法使用Annotations找到一个漂亮,优雅的方法。 到目前为止,我的方法是将JSON字符串读入Map并从那里获取值。 Map value = new […]