【问题标题】:Getting null when using getString with JSONObject class on Android在 Android 上将 getString 与 JSONObject 类一起使用时获取 null
【发布时间】:2021-10-30 10:59:00
【问题描述】:

我有以下代码:

JSONObject student2 = new JSONObject();
    try {
        student2.put("name", "NAME OF STUDENT2");

        System.out.println(student2.get("name"));
        System.out.println(student2.getString("name"));

    } catch (JSONException e) {
        e.printStackTrace();
    }

我只是想创建一个 JSONObject 并从中提取“名称”值。

但是两个“System.out.println”命令返回空值。我希望结果是字符串“NAME OF STUDENT2”。

我做错了什么?

【问题讨论】:

  • 这段代码运行良好。我认为您的问题出在其他地方
  • 没有堆栈跟踪,因为此代码没有生成错误。它只会导致空响应。
  • 这段代码运行良好。您的环境可能有问题。
  • @fabiobh 您的代码 100% 正确,请正确签入 logcat 或在其他设备上尝试。我认为问题仅在日志中而不是打印中。所以尝试断开设备并再次检查或尝试在另一个设备中。检查这个i.stack.imgur.com/xB9r4.png

标签: android json


【解决方案1】:
try {
     JSONObject jsonObject = new JSONObject("{\"name\":\"NAME OF STUDENT2\"}");
     System.out.println(jsonObject.getString("name"));

}catch (JSONException err){
     Log.d("Error", err.toString());
}

【讨论】:

  • 虽然此代码可以回答问题,但提供有关 如何 和/或 为什么 解决问题的附加上下文将改善答案的长期价值。
  • 这个解决方案是我想避免的。 Json 需要完全写在一个代码块中。当只有一个参数的时候,很容易写,但是如果需要在Json中写10个参数,那就一团糟了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-16
  • 1970-01-01
  • 1970-01-01
  • 2015-07-10
  • 1970-01-01
  • 2021-11-07
  • 1970-01-01
相关资源
最近更新 更多