2014-10-27 57 views
0

獲取數據這是JSON我可以訪問:如何從JSONObject的

[{"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值= json.getJSONArray(0) 我該如何訪問它?

+0

哪個API你用這個 – zmf 2014-10-27 01:50:55

+0

嘆!轉到json.org並學習JSON語法。然後找出你爲什麼不是一個JSON對象,而是一個JSON數組,它裏面的內容不是JSON數組,而是一個JSON對象。 – 2014-10-27 03:09:48

回答

0

你絕對是JSON不能存儲在JSONObject,因爲它是不一個 JSON對象。它是一個JSON數組。因此請使用JSONArray來存儲它。

+0

我不能或者我不應該?因爲我可以將它作爲JSON對象存儲 – 2014-10-27 01:39:28

+0

@DiegöRivera如果您的JSON字符串的形式爲'[...]',那麼您絕對不能從它創建'JSONObject'。 – 2014-10-27 01:40:16

+0

你說得對,我解決了它謝謝你! – 2014-10-27 02:40:27

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'