为什么在从字符串创建JSONObject时获取空对象?

时间:2017-11-21 02:42:50

标签: java android json

我为Android Studio(3.0.1)项目编写了一个Java方法,该方法从String创建一个JSONObject。现在我编写了一个JUnit测试来测试JSON对象是否正确。

问题始终是JSONObject为NULL。

例如,我尝试运行以下代码:

String response = "{\"songs\":\"title\"}";
System.out.println(response);
JSONObject submitPlaylistResponse = new JSONObject(response);
System.out.println(submitPlaylistResponse.toString());

输出结果为:

{"songs":"title"}
null

为什么我的JsonObject仍然为空?我错过了什么?我觉得我错过了一些简单/简单的东西。

3 个答案:

答案 0 :(得分:1)

查看 JSONObject code后,我发现了这个:

public String toString() {
   return "null";
}

如您所见,方法始终返回" null" string not null object。 在这种情况下,如果任务是检查 JSONObject 的正确性,您可以关注@ G.Dator回答或使用 String toString(int indentSpaces)

See也。

答案 1 :(得分:0)

可能你使用的是错误的库。检查您的导入。一定是这样的。 org.json.JSONObject; 我检查了你的代码,它正在我的android studio 2.3

上工作

答案 2 :(得分:0)

将以下行添加到build.gradle依赖项

UpdateSourceTrigger=PropertyChanged

有关更多详细信息,请参见this question