【问题标题】:JSONObject how to store null valueJSONObject如何存储空值
【发布时间】:2018-05-13 01:55:58
【问题描述】:

我在 liferay 6.2 中使用 com.liferay.portal.kernel.json.JSONObject,我想将空值存储在这种类型的对象中,如下所述

`JSONObject jsonObject = JSONFactoryUtil.createJSONObject();`  
`jsonObject.put("name","varun")`
`jsonObject.put("address",null)`  

org.json.JSONObject 一样,我们可以通过 JSONObject.NULL 设置 null

有什么方法可以在 liferay JSONObject 中设置 null 吗?

【问题讨论】:

  • 为什么不能同时使用org.json.JSONObject.NULL 来代替com.liferay.portal.kernel.json.JSONObject.put?我知道,这很麻烦,但至少它有效。您可以为其引入自己的常量以规避包引用。

标签: json liferay-6


【解决方案1】:

Liferay 对象仅包装 com.liferay.portal.json.JSONObjectImpl 正如托比亚斯所说,您可以使用 JSONObject.NULL

另一件事是,你真的需要设置这个吗?通常,解析器会在找不到字段时将其设为空。

【讨论】:

  • jsonObject.put("address", (String) null) 更容易阅读。但不幸的是,这不起作用,请参阅org.json.JSONObject.put(String, Object):if (value != null) { ... } else { this.remove(key); }。唯一的选择是jsonObject.put("address", org.json.JSONObject.NULL)
  • 是的,你是对的,我只检查 Liferay 源代码。
猜你喜欢
  • 2016-11-11
  • 2012-02-06
  • 2021-12-11
  • 2015-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-12
相关资源
最近更新 更多