解析android

时间:2015-06-05 08:08:08

标签: android json

我在json中放了一个列表,现在我想获取列表并在不同的textview中显示每个条目。这是我的代码,将列表放在json中并获得相同的

static ArrayList<String> list = new ArrayList<String>();
JSONObject json = jsonFruitArray.getJSONObject(i);
        list.add("john");
        list.add("mat");
        list.add("jason");
        json.put("sku",new JSONArray(list));

这就是我试图获取列表的方式

JSONArray jsonFruitSkuArray = json.getJSONArray("sku");
        for(int iSku=0; iSku< jsonFruitSkuArray.length();iSku++){
            JSONObject jsonSkuObject = jsonFruitSkuArray.getJSONObject(iSku);
            productBean.setSkuId1(jsonSkuObject.getInt("sku"));
        }

3 个答案:

答案 0 :(得分:0)

你应该这样试试。使用JsonArray

JSONObject jsonObject = new JSONObject();
        try {
            jsonObject.put("1", 1);
            jsonObject.put("2", 2);
            jsonObject.put("3", 3);
        } catch (JSONException e) {
            e.printStackTrace();
        }

        JSONArray result = new JSONArray();
        result.put(jsonObject);

答案 1 :(得分:0)

//Use json array 

JSONObject jsonObj = new JSONObject();
JSONArray jsonArray = new JSONArray();

jsonArray.put("John");
jsonArray.put("Mat");
jsonArray.put("Jason");

jsonObj.put("json_array", jsonArray);

//Retrieve like this        

JSONArray jsonFruitSkuArray = jsonObj.getJSONArray("json_array");
for(int iSku=0; iSku< jsonFruitSkuArray.length();iSku++){
    JSONObject jsonSkuObject = jsonFruitSkuArray.getJSONObject(iSku);
    productBean.setSkuId1(jsonSkuObject.getInt("sku"));
}

答案 2 :(得分:0)

在您的代码中,您可以尝试以下操作:

ArrayList<String> list = new ArrayList<String>();
JSONObject json = new JSONObject();

list.add("john");
list.add("mat");
list.add("jason");

json.put("sku", new JSONArray(list));

JSONArray jsonFruitSkuArray = json.getJSONArray("sku");  

for (int iSku = 0; iSku < jsonFruitSkuArray.length(); iSku++) {
    String element = jsonFruitSkuArray.getString(iSku);
    System.out.println(element);
}