2013-05-27 89 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); 

容易。只要迭代名称就可以获得多个名称。