如何从JSONObject获取数据

时间:2014-10-27 01:32:01

标签: java json

这是我可以访问的JSON:

[{"Nombre":"Craic Irish Pub","Descripcion":"Pub estilo     Irlandes","Telefono":"234234","SitioWeb":"","Horario":"Viernes - Sabados 17:00-    24:00","Parqueo":"No","Ubicacion":"San Jose","Reservas":"Si","_id":"5449b3334d50a38754000003","__v":0},   {"Nombre":"TicoPub","Descripcion":"Pub    Moderno","Telefono":"34534534","SitioWeb":"ticopub.com","Horario":"Viernes - Sabados 17:00-    24:00","Parqueo":"Si","Ubicacion":"Lindora","Reservas":"Si","_id":"5449b3cd4d50a38754000006","__v":0}]

我可以读取它并将其保存为JSONObject(名为json)但是我不能这样做:    JSONArray values = json.getJSONArray(0) 我怎么才能访问它?

2 个答案:

答案 0 :(得分:0)

根据你输入的内容,我假设你正在使用json.org的库。正如Sotirios指出的那样,只要你在json字符串中有'[]'就意味着你正在使用数组。您必须首先创建一个Json数组,然后您可以访问单个对象(您有两个)。见下文:

String jsonString = "[{'Nombre':'Craic Irish Pub','Descripcion':'Pub estilo  " +
        "   Irlandes','Telefono':'234234','SitioWeb':'','Horario':'Viernes - Sabados 17:00-    24:00'," +
        "'Parqueo':'No','Ubicacion':'San Jose','Reservas':'Si','_id':'5449b3334d50a38754000003','__v':0},  " +
        " {'Nombre':'TicoPub','Descripcion':'Pub    Moderno','Telefono':'34534534','SitioWeb':'ticopub.com','Horario':'Viernes - Sabados 17:00-    24:00'," +
        "'Parqueo':'Si','Ubicacion':'Lindora','Reservas':'Si','_id':'5449b3cd4d50a38754000006','__v':0}]";

JSONArray array = new JSONArray(jsonString);
JSONObject obj = array.getJSONObject(0);
String nombre = obj.getString("Nombre");
System.out.println(nombre); //prints 'Craic Irish Pub'

答案 1 :(得分:0)

您绝对无法将该JSON存储在JSONObject中,因为它是 NOT 一个JSON对象。它是一个JSON数组。因此,请使用JSONArray进行存储。