2012-05-08 104 views
1

我有一个JSON数组,我想根据JSON响应中唯一字段的no来动态创建一个List<String> jsonFieldName的基数;举例说;在不知道真名的情况下获取JSON字段名称

JSON = [{a:1,b:2,c:3},{a:4,b:5,c:5}]; 

结果:

temp_array=[{a,b,c}]; 

基于上述JSON样品,我最终会与3个新的清单; 列表: 列表 表b 列表C

我想结束像这些因为,我想创造一个通用的JSON响应分析器其中每个响应可以在大小/长度不同。

我该如何在Android中实现它;

这里是我现有的解析JSON响应

public void getJsonData(JSONArray ja) { 
    try { 
     // JSONArray jArray = new JSONArray(result); 
     for (int i = 0; i < ja.length(); ++i) { 
      JSONObject jo = ja.getJSONObject(i); 
      Log.i("Connect->getJsonData", jo.getString("tableno")); 
     } 
    } catch (Exception e) { 
     Log.e("ConnectToDatabase->getJsonData", "Error Parsing JSON Data " 
       + e.toString()); 
    } 
} 
+0

http://bit.ly/IGHBlN – Selvin

+0

链接是好的,JsonObject.names() ;做的伎俩......现在我怎么接受只是一个评论的答案? –

回答

0

方法下面是我所做的:

public void getJsonData(JSONArray ja) { 
**List<String> arrNames = new ArrayList<String>**; 
try { 
    // JSONArray jArray = new JSONArray(result); 
    for (int i = 0; i < ja.length(); ++i) { 
     JSONObject jo = ja.getJSONObject(i); 
     **arrNames[i] = jo.names(i);** 
     Log.i("Connect->getJsonData", jo.getString("tableno")); 
    } 
} catch (Exception e) { 
    Log.e("ConnectToDatabase->getJsonData", "Error Parsing JSON Data " 
      + e.toString()); 
} 
} 
相关问题