2013-05-27 86 views
0

我有以下JSON對象 - 如何獲取值

JSONObect {"28":["Mugisha","Christian"]} 

從一個更大的JSONArray,我需要能夠

{"28":["Mugisha","Christian"]} 

轉化爲具有

int itemId; 
String firstName; 
String lastName; 
對象

我該如何解決這個問題?

+1

您需要了解【如何解析JSON?](http://www.technotalkative.com/android-json-parsing/) –

+0

你有什麼問題這裏...? – Pragnani

+0

我看到它的方式是第一個引用的動態值(在這種情況下)「28」是關鍵,但因爲它的動態我不知道如何解析它分解得到的值 – cghrmauritius

回答

1

你必須解析這樣

JSONObject job=new JSONObject('your json string'); 
Iterator itr=job.keys(); 
while(itr.hasNext()) 
{ 
int id=Integer.parseInt(itr.next()); 
JSONArray jar=job.getJSONArray(id); 
String firstName=jar.getString(0); 
String lastName=jar.getString(1); 
} 
0
  1. 您需要了解的JSON
  2. 你需要學習SerializationDeserialization
  3. 你需要一個像GSON庫的東西來分析它來回JSON

使用GSON格式,它就像使用fromJson(String,Class)將其轉換爲POJO(普通Java對象)一樣簡單:) :)

事情是瞭解如何將JSON類映射到Java類。我相信你會發現很多的教程就可以了:)

0

這樣來做:

JSONObject json = new JSONObject(result); 

    String usuario= json.getString("usuario"); 

    int idperon = json.getInt("idperson"); 

    String nombre = json.getString("nombre"); 
+0

使用'GSON'? :) –

2

自己不解析吧!使用內置的JSONObject類。

JSONObject object = new JSONObject(jsonString); 

然後,除非你已經有標識的地方,做這樣的事情:

JSONArray names = object.names(); 
int id = Integer.parseInt(names.get(0)); 
JSONArray contents = object.getJSONArray(names.get(0)); 
String firstName = contents.get(0); 
String lastName = contents.get(1); 

容易。只要迭代名稱就可以獲得多個名稱。