Java,解析我知道为空的 JSON 对象

发布于 2024-12-06 05:42:31 字数 314 浏览 1 评论 0原文

我有一个 JSON 对象数组。为了解析这些数组并存储简单的数据类型值,我必须假设键名称并相应地存储它们。

我还知道有时键的值将为空。示例 {["promotion":null]} 我将如何解析它?

如果我尝试访问值为 null 的键,则会收到 JSONException。现在这是有道理的,但即使我这样做 if(myJSObject.getString("promotion")!=null) 那么当它检查

我如何在我的中进行条件检查 时,我仍然会得到 JSON 异常空对象的代码,这样我就可以避免 JSON 异常

I have an array of JSON objects. To parse these arrays and store the simply data type values, I have to make assumptions of the key names and store them accordingly.

I also know that sometimes the key's values will be null. example {["promotion":null]} how would I parse this?

If I try to access a key whose value is null, I get a JSONException. Now this makes sense, but even if I do if(myJSObject.getString("promotion")!=null) then I will still get JSON exception when it checks

how would I do a conditional check in my code for null objects so that I can avoid the JSON exception

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

旧人九事 2024-12-13 05:42:31

使用 JSONObject.optString(String key) 或 optString(String key, String default)。

编辑:...或 isNull(String key),当然:)

Use JSONObject.optString(String key) or optString(String key, String default).

Edit: ... or isNull(String key), of course :)

诗化ㄋ丶相逢 2024-12-13 05:42:31

我认为您需要以不同的方式格式化 JSON;

编辑的一系列促销

{promotions:[{promotion:null}, {promotion:5000}]}

对于单个促销

{promotion:null}

:根据您使用的 json api,可能会有空检查。 Google 的 gson 库有一个 .isJsonNull() 方法

I think you'll need to format the JSON differently;

for an array of promotions

{promotions:[{promotion:null}, {promotion:5000}]}

for a single promotion

{promotion:null}

edit: depending on which json api you're using, there might be a null check. Google's gson library has an .isJsonNull() method

遥远的绿洲 2024-12-13 05:42:31

呃...我不认为这是一个格式正确的 JSON 字符串。 [] 表示一个数组,它不像对象那样具有任何类型的 key=>value 配对。我认为您想要的是 {"promotion":null} ,那么您的代码片段可能会起作用。

Uh...I don't think that is a properly formatted JSON string. [] indicates an array, which doesn't have any kind of key=>value pairing like an object does. What I think you want would be {"promotion":null}, which then your code snippet likely would work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文