【问题标题】:Jackson - Store nested json object as JSONObjectJackson - 将嵌套的 json 对象存储为 JSONObject
【发布时间】:2015-03-04 21:46:38
【问题描述】:

我正在反序列化一个 json 对象,其中包含一个嵌套的 json 对象。

{
  "id:" 1,
  "name:" "test",
  "settings": {
   "color": "#ff0000"
  }
}

这是我的汽车课:

public class Car {
  private long id;
  private String name;
  private JSONObject settings;

  // id getter/setter...
  // name gett/setter...

  public void setSettings(JSONObject settings) {
    this.settings = settings;
  }

  public JSONObject getSettings() {
    return settings;
  }
}

我想将设置保留为 JSONObject 并在需要时对其进行解析。我也想避免创建一个设置类(因为我如何使用 Sugar ORM 缓存我的模型)。当我尝试用 Jackson 反序列化它时,设置总是返回“{}”。我怎样才能对杰克逊做到这一点?

更新:

下面是解析 Car 的代码:

ObjectMapper objectMapper = new ObjectMapper(); 
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
Car car = objectMapper.readValue(jsonObject.toString(), Car.class);

Car 可能是其他对象中的嵌套对象,因此不会总是调用它。如果我总是可以调用它,那么我已经可以访问 json 对象,并且可以在这里手动将 Settings 对象设置为 Car。

【问题讨论】:

  • 提供一些关于如何解析这些值的代码?

标签: android json jackson


【解决方案1】:

将 JSONObject 更改为 JsonObject 似乎已经解决了问题。

【讨论】:

  • 你是怎么解决的?即使我使用JsonObject,也会出现同样的错误。我们不能使用JSONObject 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多