2

我在尝试解析从 Django 发送到 Android 的 json 数组字符串时遇到问题。这是json字符串的格式。

[
    {
        "pk": 1,
        "model": "brete.brete",
        "fields": {
            "contenido": "93iw09if",
            "fecha": "2011-05-07 03:06:40",
            "codigo_confirmacion": "",
            "correo": "oij8@gmail.com",
            "activado": false,
            "titulo": "234"
        }
    },
    {
        "pk": 2,
        "model": "brete.brete",
        "fields": {
            "contenido": "asoidjfdiso",
            "fecha": "2011-05-07 03:08:09",
            "codigo_confirmacion": "",
            "correo": "oijoiji@oijoi.com",
            "activado": false,
            "titulo": "ijj"
        }
    }
]
etc

这就是我获取数据的方式:

        //parse json data
        try{
            JSONArray jArray = new JSONArray(result);
            for(int i=0;i<jArray.length();i++){
                JSONObject json_data = jArray.getJSONObject(i);
                Brete resultRow = new Brete();
                resultRow.contenido = json_data.getString("contenido");
                resultRow.fecha = json_data.getString("fecha");
                resultRow.correo = json_data.getString("correo");
                arrayOfWebData.add(resultRow);
            }
        }
        catch(JSONException e){
                Log.e("log_tag", "Error parsing data "+e.toString());
        }

我正在尝试获取 的数据'contenido''fecha''correo'我没有显示任何行。这不是全部代码,也许问题出在其他地方,但我有一种预感,这可能是没有正确解析嵌套 json 与 json_data.getString() 的问题。任何帮助表示赞赏。

4

1 回答 1

2

在你抓住你的领域之前,你实际上必须接触到“领域”对象:

//parse json data
try{
    JSONArray jArray = new JSONArray(result);
    for(int i=0;i<jArray.length();i++){
        JSONObject buf = jArray.getJSONObject(i);
        JSONObject json_data = buf.getJSONObject("fields");
        Brete resultRow = new Brete();
        resultRow.contenido = json_data.getString("contenido");
        resultRow.fecha = json_data.getString("fecha");
        resultRow.correo = json_data.getString("correo");
        arrayOfWebData.add(resultRow);
    }
}
catch(JSONException e){
        Log.e("log_tag", "Error parsing data "+e.toString());
}
于 2012-08-18T00:45:05.713 回答