【问题标题】:Parsing Google Books JSON in Android在 Android 中解析 Google Books JSON
【发布时间】:2013-01-19 21:31:38
【问题描述】:

我对 Android 比较陌生,在尝试从 Google 图书 api 解析以下 Json 之前从未使用过任何解析器,提取书名和作者。这是到目前为止的代码:

公共无效 parseJson(字符串 stringFromInputStream) { 字符串 strParsed = null; 尝试 { JSONobject jsonObject= new JSONObject(stringFromInputStream); JSONArray jArray = jsonObject.getJSONArray("items"); for(int i = 0; i < jArray.length(); i++) { strParsed = jArray.getJSONObject(i).getString("volumeinfo").toString(); }

我想要在上面的代码中做的是遍历 JSON 数组,即“items”并获取“volumeinfo”,然后我希望从那里提取标题和作者,但我不知道如何继续。所以我希望有人能指出我正确的方向并纠正我,因为以上很可能是不正确的。

谢谢。

【问题讨论】:

    标签: android json parsing


    【解决方案1】:

    Volumeinfo 不是字符串,不要把它当成一个

    for(int i = 0; i < jArray.length(); i++){
        JSONObject volumeInfo = jArray.getJSONObject(i).getJSONObject("volumeInfo");
        String title = volumeInfo.getString("title");
        JSONArray authors = volumeInfo.getJSONArray("authors");
        for(int j =0; j< authors.length(); j++){
            String author = authors.getString(i);
        }
    }
    

    【讨论】:

    • 感谢您的回复。我试过你的代码,但我收到一个 JSONException 说“volumeinfo 没有价值”。我环顾四周并使用JSON Viewer 查看JSON,我可以看到volumeinfo 包含在“0”内,但即使在修改代码之后,我似乎仍然遇到同样的错误。
    • 对不起,应该是volumeInfo。我忘了把 I 大写
    • 哇,我一直在查看 Json 文件,但没有注意到小写字母本来是大写字母。谢谢它现在完全可以工作了!
    猜你喜欢
    • 2023-03-22
    • 2013-01-12
    • 1970-01-01
    • 1970-01-01
    • 2019-06-06
    • 2014-12-31
    • 1970-01-01
    • 2011-11-06
    • 2020-10-07
    相关资源
    最近更新 更多