在不知道真实姓名的情况下获取JSON字段名称

时间:2012-05-08 09:52:12

标签: java json

我有一个 JSON 数组,我想根据JSON响应中的唯一字段动态创建一个List<String> jsonFieldName的no;比如说;

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

结果:

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

基于上面的JSON示例,我最终会得到3个新的List; 列表: 列出一个 清单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());
    }
}

1 个答案:

答案 0 :(得分: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());
 }
}