我移植的方法中的代码现在在我新创建的 java 代码中抛出 JSONException。
以下内容不再像以前那样工作:
if (theEvent.getString("plugin")== null)
{
processNonPluginEvent(theEvent);
return;
}
我发现使用
org.json.JSONObject
与我在 c# 中使用不同 JSON 库的旧代码的行为不同。上面的代码总是会被异常捕获。在我的旧代码中,如果键不存在,它将返回 null。如果 key 不存在,我真的必须捕获该异常吗?还是有另一种我还没有发现的方法来判断我的 org.json.JSONObject 中是否有 key ?
供引用,旧的 C# 代码如下所示:
if (theEvent["plugin"] == null)
{
processNonPluginEvent(theEvent);
return;
}
最佳答案
假设您使用 this library 中的代码,我相信你想要:
if (!theEvent.has("plugin"))
{
processNonPluginEvent(theEvent);
return;
}
查看 JSONObject
类的文档:
http://www.json.org/javadoc/org/json/JSONObject.html
此外,库中的所有类均已记录 here .
关于c# - 从一个 Json 移植到 javas org.json.JSONObject,缺少键的行为不一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4401916/