Tag: gson

GSON是Java Throwable

我有一个包含一段数据和相关exception的对象。 Public class MyBean{ Private String data; Private Exception problem; . . . } 当我尝试GSON.toJSON(对象)时,它给我一个循环引用错误抱怨“问题”字段。 有没有办法让GSON处理这些对象?

小写枚举Gson

我需要使用Gson输出枚举值,由于客户端限制需要小写。 例如, CLOSE_FILE将是close_file 。 有一个简单的方法吗? 我已经看过制作一个实现JsonSerializer的类,但看起来我必须手动序列化整个类(这是非常复杂的)是这样的吗?

GSON转换为LinkedHashMap而不是我的对象

我有这段代码: public abstract class Repository { … public void readFromJson(){ String content = “JSON content here”; Gson gson = new Gson(); Type entityType = new TypeToken<JSONObject>(){}.getType(); jsonObject = gson.fromJson(content, entityType); for (Entity ent : jsonObject.getEntities()) ; } } 当我尝试执行foreach时,我的实体对象不再是Entity类型而是LinkedHashMap,我得到以下exception:java.lang.ClassCastException:java.util.LinkedHashMap无法强制转换为com.tranca.bookstore.domain.shared.BaseObject 这是JSONObject类(由我创建) public class JSONObject { private List entities = new ArrayList(); private long lastId = -1; […]

GSON抛出exception解析空Date字段

我正在使用GSON来反序列化一些JSON。 JSON是: { “employee_id”: 297, “surname”: “Maynard”, “givenname”: “Ron”, “lastlogin”: “”, … Employee对象有一个Date字段lastlogin: public class Employee { private Integer employee_id; private String surname; private String givenname; private Date lastlogin; 我遇到的问题是,当未填充lastlogin值时,它是JSON中的空字符串,因此GSON解析器抛出: java.text.ParseException: Unparseable date: “” at java.text.DateFormat.parse(DateFormat.java:337) at com.google.gson.internal.bind.DateTypeAdapter.deserializeToDate(DateTypeAdapter.java:79) at com.google.gson.internal.bind.DateTypeAdapter.read(DateTypeAdapter.java:66) 通常的方法是什么?

Gson java.text.ParseException:无法解析的日期

我正在使用Gson反序列化json。 java.text.ParseException: Unparseable date: “2011-10-19T23:30:00-04:00” 23:30:00部分对我来说确实很奇怪。 这是无效的日期吗?

如何使用GSON将List转换为JSON对象?

我有一个List,我需要使用GSON转换为JSON对象。 我的JSON对象中包含JSON数组。 public class DataResponse { private List apps; // getters and setters public static class ClientResponse { private double mean; private double deviation; private int code; private String pack; private int version; // getters and setters } } 下面是我的代码,我需要将我的List转换为JSON对象,其中包含JSON数组 – public void marshal(Object response) { List clientResponse = ((DataResponse) response).getClientResponse(); // now how do […]

使用gson在java中反序列化json

我用gson在java中反序列化json非常困难。 我有以下json: {“races”:[ {“id”:1,”mask”:1,”side”:”alliance”,”name”:”Human”}, {“id”:2,”mask”:2,”side”:”horde”,”name”:”Orc”}, {“id”:3,”mask”:4,”side”:”alliance”,”name”:”Dwarf”}]} 我现在的java代码是: StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener() { @Override public void onResponse(String response) { Gson gson = new Gson(); Type type = new TypeToken<List>(){}.getType(); List races = gson.fromJson(response, type); for (WoWRaces race : races){ if(raceID.equals(race.id)) { raceName = race.name; } } } }, new Response.ErrorListener() { @Override […]

将JSON反序列化为未知类型的集合

我正在用Java编写一个程序,通过调用某些方法向外部API发出请求。 这些方法中的每一个都返回不同的JSON结构,它还取决于传递的参数。 我的问题是,是否有一些方法可以使用Gson反序列化响应字符串,而无需为每个方法编写不同的类。 如果不是Gson,我可以使用哪个其他库? 谢谢。

如何将此JSON响应转换为POJO?

使用此JSON,自动JSON到POJO失败了。 请注意,项目数量因一个请求而异。 在这里,我包括2项JSON响应。 { “status”: 1, “complete”: 1, “list”: { “734233858”: { “item_id”: “734233858”, “resolved_id”: “734233858”, “given_url”: “https://blog.openshift.com/developing-single-page-web-applications-using-java-8-spark-mongodb-and-angularjs/”, “given_title”: “”, “favorite”: “0”, “status”: “0”, “time_added”: “1466459879”, “time_updated”: “1466459862”, “time_read”: “0”, “time_favorited”: “0”, “sort_id”: 1, “resolved_title”: “Developing Single Page Web Applications using Java 8, Spark, MongoDB, and AngularJS”, “resolved_url”: “https://blog.openshift.com/developing-single-page-web-applications-using-java-8-spark-mongodb-and-angularjs/”, “excerpt”: “In this post you will […]

如何做条件Gson反序列化默认值

想象一下,如果我有以下JSON {“game”:”football”, “people”:”elevent”} {“game”:”badminton”, “people”:”two”} 我的课程如下 class Sport { String game; String people; } 我可以对我的Json进行反序列化,如下所示 Sport mySport = Gson().fromJson(json, Sport.class); 但是,如果我的JSON只是 {“game”:”football”} {“game”:”badminton”} 我希望它能自动将people初始化为“elevent”或“two”,等待第一个字段。 有没有办法配置我的GsonBuilder()以在反序列化期间自动实现?