我有一个Event
使用构建器模式设置字段并最终将字段添加到 JSON
的类对象。
public class Event{
private EventProcessor eventProcessor = new EventProcessor();
private String userName;
private String userID;
public Event setUserName(String userName){
this.userName = userName;
return this;
}
public Event setUserID(String userID){
this.userID = userID;
return this;
}
public void toJson(){
JSONObject json = new JSONObject();
if(null != userName)
json.put("userName", userName);
if(null != userID)
json.put("userID", userID);
// need help to convert json to "event"
eventProcessor.addToQueue(event);
}
}
EventProcessor 类
public class EventProcessor{
static{
EventQueue eventQueue = new EventQueue<Event>();
}
public void addToQueue(Event event){
eventQueue.add(event);
}
}
我曾经通过json
进入eventProcessor.addToQueue()
方法和设置eventQueue = new EventQueue<JSONObejct>()
和public void addToQueue(JSONObject event)
。这对我有用。但现在我需要将 POJO 传递给 addToQueue(Event event)
方法。如何更改代码并转换 json
结果为event
对象并将其作为参数传递给 addToQueue(Event event)
方法?
最佳答案
您可以使用Gson将JSONObject转换为java POJO:
Event event = gson.fromJson(json.toString(), Event.class);
您可以使用 Jackson 来执行相同的操作:
ObjectMapper objectMapper = new ObjectMapper(); Event event = objectMapper.readValue(json.toString(), Event.class);
关于java - 如何将 JSONObject 转换为 java 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52937380/