【问题标题】:Java getJSONArray when it is set to null设置为 null 时的 Java getJSONArray
【发布时间】:2022-01-19 08:11:14
【问题描述】:

当我试图获得评论的孩子时,就会出现问题。如果子键为空,我的应用程序崩溃并给我这个错误:

org.json.JSONException: 子类型的值为 null org.json.JSONObject$1 无法转换为 JSONArray

我试过这段代码,但它不起作用:

 if (comments.getJSONObject(i).getJSONArray("child") != null) {child = comments.getJSONObject(i).getJSONArray("child");

我该怎么办?

【问题讨论】:

  • cmets.getJSONObject(i).get("child") != null 我猜应该可以工作,或者您可以简单地使用 child = cmets.getJSONObject(i).optJSONArray("child")跨度>

标签: java android arrays json


【解决方案1】:
  • 首先,我认为你应该确认在你的支持下,定义女巫字段可以为空。

  • 其次,如果所有字段都可以为空,你可以使用更强大的库来解码json信息,比如[Gson](https://github.com/google/gson),它可以帮助你毫无例外地处理空字段。

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:
if (comments.getJSONObject(i).getJSONArray("child")

替换

if(comments.isNull(comments.getJSONObject(i).getJSONArray("child")));

【讨论】:

    猜你喜欢
    • 2019-10-20
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 2017-12-01
    • 2020-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多