在 Android 上将 getString 与 JSONObject 类一起使用时获取 null
Posted
技术标签:
【中文标题】在 Android 上将 getString 与 JSONObject 类一起使用时获取 null【英文标题】:Getting null when using getString with JSONObject class on Android 【发布时间】: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 【参考方案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个参数,那就一团糟了。以上是关于在 Android 上将 getString 与 JSONObject 类一起使用时获取 null的主要内容,如果未能解决你的问题,请参考以下文章
在 Android TV 上将 ProgressBar 添加到 DetailsOverviewRow
android.content.Context.getString 中的 NPE 导致应用程序在启动时崩溃
有没有办法在Android上将arraybuffer从javascript传递到java?
Android java,使用getString()从string.xml导入字符串时出错