Java JSON序列化-最佳实践
我需要为某些对象实现JSON序列化,并且在与通用集合进行集成时遇到了一个问题。
所有可序列化的类都实现此接口(JSONObject来自此库):
interface JSONSerializable{
public JSONObject dump() throws JSONException //serializes object
public void load(JSONObject obj) throws JSONException //deserializes object
}
我基于java.util.list的集合的代码大致如下所示:
class AwesomeList<T extends JSONSerializable> implements JSONSerializable{
private LinkedList<T> items = new LinkedList<T>();
...
...
public JSONObject dump() throws JSONException {
JSONObject result = new JSONObject();
JSONArray a = new JSONArray();
for(T i : items){
a.put(i.dump());
}
result.put("items", a);
return result;
}
public void load(JSONObject obj) throws JSONException{
//here is my problem
}
}
我的问题是:当我从JSONObject加载AwesomeList时,我需要创建其元素,但是这是不可能的,因为Java禁止我写
T newItem = new T();
newItem.load(obj);
我应该如何修改此任务的方法?
-
您是否绑定到该库?Google
Gson非常受欢迎。我自己没有将其与Generics一起使用,但他们的首页说Gson认为对Generics的支持非常重要。
-
EJB和CDI Bean序列化的最佳实践
2021-01-29 关注 0 浏览129 1答案
-
使用 Jackson JSON 映射器序列化/反序列化 java 8 java.time
2022-05-26 关注 0 浏览14 1答案
-
Java序列化vs JSON vs XML
2021-01-31 关注 0 浏览63 1答案
-
哪种是Java序列化的最佳选择?
2021-01-31 关注 0 浏览70 1答案
-
从JSON反序列化Java枚举
2021-01-30 关注 0 浏览97 1答案
-
如何使用Java从Google地理编码序列化和反序列化JSON对象
2021-01-31 关注 0 浏览115 1答案
-
转到websocket序列化/反序列化json
2021-02-01 关注 0 浏览278 1答案
-
Tuple如何序列化到JSON和从JSON反序列化?
2021-01-31 关注 0 浏览147 1答案
-
Java连接池最佳实践?
2021-01-29 关注 0 浏览119 1答案
-
Java:静态抽象(再次)-最佳实践
2021-01-29 关注 0 浏览78 1答案