将JSON数组转换为字符串。

时间:2014-05-07 10:34:40

标签: java android json

我有一个webservice,它以这种格式返回一个JSON数组:

[{"imageid":"3","userid":"1","imagepath":"SLDFJNDSKJFN","filterid":"1","dateadded":"2014-05-06 21:20:18.920257","public":"t"},
{"imageid":"4","userid":"1","imagepath":"dsfkjsdkfjnkjdfsn","filterid":"1","dateadded":"2014-05-06 21:43:37.642748","public":"t"}]

我需要单独获得所有属性?我该怎么做?

如果只返回一件事,我知道如何使用JSONObject,但是当返回多个项时它是如何工作的?

由于

4 个答案:

答案 0 :(得分:1)

try {
        JSONArray jArray = new JSONArray(jsonString);
        String s = new String();
        for (int i = 0; i < jArray.length(); i++) {
            s = jArray.getJSONObject(i).getString("imageid").toString();
            s = jArray.getJSONObject(i).getString("userid").toString();
        }
    } catch (JSONException je) {
    }

答案 1 :(得分:1)

创建一个包含所有变量的Object类,为此Object创建一个List,将JSONArray中的所有对象添加到列表中,使用您需要的对象。

    List<YourObject> objList = new ArrayList<YourObject>();
    JSONArray a = new JSONArray(response);
    int size = a.length();
    for (int i=0 ; i<size ; i++){
        JSONObject aa = a.getJSONObject(i);
        String id = aa.getString("imageid");
        String userid = aa.getString("userid");
        String imagepath = aa.getString("imagepath");
        String filterid = aa.getString("filterid");
        String dateadded = aa.getString("dateadded");
        String publicText = aa.getString("public");
        YourObject obj = new YourObject(id,userid,imagepath,filterid,dateadded,publicText);
        objList.add(obj);
    }

答案 2 :(得分:0)

所以你在这里的是JSON数组中的一些JSON个对象。

你想要做的是:

JSONArray array = ...;

for (int i = 0; i < array.length(); i++) {
    JSONObject o = array.getJSONObject(i);

    // Extract whatever you want from the JSON object.
}

我希望它有所帮助。

答案 3 :(得分:0)

您可以使用JSONArray来解析JSON响应数组。

private void parseJsonArray(String response) {
    try {
        JSONArray array = new JSONArray(response);
        for(int i=0;i<array.length();i++){
            JSONObject jsonObject = array.getJSONObject(i);
            String ImageId = jsonObject.getString("imageid"); 
            Log.v("JSON Parser", "ImageId: "+ImageId);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}