2013-02-05 40 views
1

我对Android比较陌生,从未使用任何解析器,然后尝试从Google书籍API中解析以下Json,提取书籍和作者的标题。这是迄今为止代码:在Android中解析Google图书JSON

 
public void parseJson(String stringFromInputStream) 
    { 
     String strParsed = null; 
     try 
     { 
      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阵列,这是“项目”,并获得“volumeinfo”然后从那里我希望提取标题是循环和作者,但我不知道如何继续。所以我希望有人能指出我正确的方向并纠正我,因为上面很可能是不正确的。

谢谢。

回答

4

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); 
    } 
} 
+0

感谢您的答复。我试过你的代码,但我得到一个JSONException说“没有值的音量信息”。我环顾四周,用[JSON查看器](http://jsonviewer.stack.hu/)查看JSON,我可以看到volumeinfo包含在“0”内,但即使修改了代码,我似乎仍然得到同样的错误。 – user1832478

+0

对不起,它应该是volumeInfo。我忘了大写I –

+0

哇,我一直在看Json文件,我没注意到小写字母是我的意思是大写。感谢它现在完全有效! – user1832478