Java 如何从JSONObject获取数据
这是我可以访问的JSON:Java 如何从JSONObject获取数据,java,json,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",
[{"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}]
我可以读取它并将其保存为名为json的JSONObject,但我不能这样做:
JSONArray值=json.getJSONArray0
如何访问它?根据您键入的内容,我假设您使用的是json.org的库。正如Sotirios指出的,只要json字符串中有“[]”,就意味着您正在使用数组。您必须首先创建一个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'
您绝对不能将该JSON存储在JSONObject中,因为它不是JSON对象。它是一个JSON数组。所以使用JSONArray来存储它。我不能还是不应该?因为我可以将其存储为JSONobjct@DiegöRivera如果您的JSON字符串的格式为[…],那么您肯定无法从中创建JSONObject。您使用哪种api来实现此功能!!转到json.org学习json语法。然后找出为什么您拥有的不是JSON对象而是JSON数组,而它内部拥有的不是JSON数组而是JSON对象。