gpt4 book ai didi

java - 如何处理 JSON-Simple 中的空值?

转载 作者:行者123 更新时间:2023-11-30 07:22:27 26 4
gpt4 key购买 nike

我正在使用 JSON-Simple 以 JSON 格式提取推文。我将用户对象拆分为它自己的 JSONObject 类,在内存中:

incomingUser = (JSONObject) incomingTweet.get("user");

然后我使用 JSON-Simple 从推文和用户对象中剥离各种字段;我在做

strippedJSON.put("userLocation", incomingUser.get("location").toString();

但事实证明,有时用户的位置会设置为 null

所以现在我正在检查我正在剥离的字段是否为空,并将其设置为“”:

strippedJSON.put("userLocation", (incomingUser.get("location").toString().equals(null)?
"": incomingUser.get("location").toString());

但是我已经在 Debug模式下逐步通过 eclipse 并发现位置设置为 null 的人,然后跳过我删除与 "location" 关联的 JSON 对象字段并放入的部分它进入 JSON 对象字段 "user Location"。我得到了 NPE。

我的三元语句没有说明这一点吗?我会检查它是否等于 null(只有一个“空对象”,它应该能够看到指针是相同的)如果它是(condtion? 是真的) 它应该评估为 put("location","") 否?

我哪里错了?我应该怎么做才能处理这个空值?

最佳答案

您收到空指针异常,因为您试图访问空对象上的 .equals() 方法。

如果 location 键返回一个值,请试试这个:

(incomingUser.get("location").toString() == null) ? etc..

编辑:实际上我刚刚想到 incomingUser.get("location") 返回 null(即 location 键可能指的是 JSONObjectJSONArray ),在这种情况下您需要:

(incomingUser.get("location") == null) ? etc...

关于java - 如何处理 JSON-Simple 中的空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12729954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com