java - JSON解析无值

标签 java android json

我不确定这背后的错误是什么,但我收到一条错误消息

org.json.JSONException: No value for
http://starstrakph.s3.amazonaws.com/12/avatars/1386757806.jpg

我的JSON如下

{"id":"12","display_name":"Anne","screen_name":"Anne Curtis","avatar":"http:\/\/starstrakph.s3.amazonaws.com\/12\/avatars\/1386757806.jpg","avatar_source":"http:\/\/www.balita.com\/filipino-superstar-anne-curtis-katulong-ng-pechanga-resort-casino-sa-pagdiriwang-ng-araw-ng-kasarinlan-ng-pilipinas\/"}

我的代码是:

JSONObject userObj = new JSONObject(result);
                cFeeds.SetPostScreenName(userObj.getString("screen_name"));
                String avatar = userObj.getString(userObj.optString("avatar"));
                cFeeds.SetAvatar(avatar);

我应该使用 JSON 数组吗?我的代码有什么问题或者我遗漏了什么吗?

提前致谢

最佳答案

问题是您正在使用名为 avatar 的 json 对象(这是一个 json String) 的值作为另一个 json 对象的名称,这显然不是'不存在。

String avatar = userObj.getString(userObj.optString("avatar"));

看来你只是想要avatar的值,所以就获取它

String avatar = userObj.optString("avatar");

关于java - JSON解析无值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20778623/

相关文章:

java - 尝试在 Java 中获取 ArrayList 的输出

java - 使 EditText 字段不可编辑

java - "Actions on Google"API 能否打开您的应用程序或显示除 session UI 之外的自定义 UI?

java - 休息 API 示例

java - 在 JPanel 周围移动 JLabel

java - 由于 Domino JVM 中缺少 TLS 密码套件导致 SSLHandshakeException

java - 执行 MongoTemplate.aggregate 而不进行行检索

java - 使用 Jackson 对 HashMap<MyObject, List<Integer> 进行序列化和反序列化

php - 如何使用 PHP 将 JSON 字符串发布到 REST API?

javascript - str.split 到带有名称的 json