Android 解析JSON:Googlebooks JSON文件获取特定标识符
我正在编写一个查询谷歌图书的应用程序,它将解析JSON文件,并显示图书的标题、作者和ISBN_10标识符。例如,我试图从以下代码解析JSON文件。到目前为止,我所取得的成就是获得了这本书的书名和作者。我想做的主要事情之一是得到ISBN 10号,在本例中是“1558607129”。到目前为止,它使用我的当前代码返回以下结果:Android 解析JSON:Googlebooks JSON文件获取特定标识符,android,json,parsing,google-books,Android,Json,Parsing,Google Books,我正在编写一个查询谷歌图书的应用程序,它将解析JSON文件,并显示图书的标题、作者和ISBN_10标识符。例如,我试图从以下代码解析JSON文件。到目前为止,我所取得的成就是获得了这本书的书名和作者。我想做的主要事情之一是得到ISBN 10号,在本例中是“1558607129”。到目前为止,它使用我的当前代码返回以下结果: {"type":"ISBN_10", "identifier":"1558607129"} {"type":"ISBN_13", "identifier":"97815586
{"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);
}
}
}
}
public void parseJson(String stringFromInputS)
{
尝试
{
JSONObject JSONObject=新的JSONObject(stringFromInputS);
JSONArray jArray=jsonObject.getJSONArray(“项”);
for(int i=0;i
所以我想做的就是特别地获取ISBN_10标识符,就这样。在本例中,它是“1558607129”。我想知道如何指定只解析isbn_10数字,或者是否有人可以为我指出正确的方向
多谢各位 也许是这样的
JSONArray jsonIndustrialIDArray = jsonVolInfo.getJSONArray("industryIdentifiers");
for(int k = 0; k < jsonIndustrialIDArray.length(); k++) {
JSONObject isbn = jsonIndustrialIDArray.getJSONObject(k);
if (isbn.getString("type").equals("ISBN_10")) {
String isbn10 = isbn.getString("identifier");
break;
}
}
JSONArray jsonIndustrialIDArray=jsonVolInfo.getJSONArray(“行业标识”);
for(int k=0;k
就像坚果一样,我将添加一个小示例
private void test() {
try {
JSONObject jso = new JSONObject("{ \"type\" : \"ISBN_10\" , \"identifiant\" : \"1558607129\" }");
String type = jso.getString("type");
int idNumber = jso.getInt("identifiant");
System.out.println("RESULT=> type: "+type+" and number: "+idNumber);
//RESULT=> type: IBSN_10 and number: 1558607129
} catch (JSONException e) {
e.printStackTrace();
}
}
:)我认为您想解析从JSON数组返回的字符串,对吗;即“1558607129”。我想做的是解析从GoogleBooks返回的任何JSON页面中的ISBN_10位数字。在本例中,它是“1558607129”。