我正在编写一个查询 Google 图书的应用程序,它将解析 JSON 文件并显示图书的标题和作者以及 ISBN_10 标识符。例如,我正在尝试从以下链接解析 JSON 文件。到目前为止,我所取得的成就是获得了这本书的标题和作者,这很好。我想做的主要事情之一是获取 ISBN 10 编号,在本例中为“1558607129”。到目前为止,使用我当前的代码它返回以下结果:
{"type":"ISBN_10", "identifier":"1558607129"}
{"type":"ISBN_13", "identifier":"9781558607125"}
上面的结果表明该函数解析了我不想要的“industryIdentifiers”JSON 数组中的所有内容。我只想要“1558607129”。
到目前为止,这是解析 JSON 的函数:
public void parseJson(String stringFromInputS)
{
try
{
JSONObject jsonObject= new JSONObject(stringFromInputS);
JSONArray jArray = jsonObject.getJSONArray("items");
for(int i = 0; i < jArray.length(); i++)
{
JSONObject jsonVolInfo = jArray.getJSONObject(i).getJSONObject("volumeInfo");
String bTitle = jsonVolInfo.getString("title");
JSONArray bookAuthors = jsonVolInfo.getJSONArray("authors");
for(int j = 0; j < bookAuthors.length(); j++)
{
String bAuthor = bookAuthors.getString(i);
}
JSONArray jsonIndustrialIDArray = jsonVolInfo.getJSONArray("industryIdentifiers");
for(int k = 0; k < jsonIndustrialIDArray.length(); k++)
{
String isbn10 = isbn10 + "\n" + jsonIndustrialIDArray.getString(k);
}
}
}
}
所以我想要做的是专门获取 ISBN_10 标识符,仅此而已。在这种情况下,它是“1558607129”。我想知道如何指定仅解析 isbn_10 数字,或者是否有人可以指出我这样做的正确方向。
谢谢你。