解析有效的Json时出现JSONException

时间:2012-07-16 12:58:11

标签: java android json

我尝试解析这个有效的JSON

我使用new JSONObject(resultString);但我有JSONException

我如何解析他的Json

请帮帮我!

由于

[{
    "id": "8637F7F78C8C1",
    "from_account_id": "1025630",
    "to_account_id": "1025635",
    "transaction_type_id": "15",
    "transaction_mode_id": "2",
    "transaction_status_id": "1",
    "amount": "1000.00",
    "real_amount": "1000.00",
    "promote_amount": "0.00",
    "from_fix_fee_amount": "0.00",
    "from_percent_fee_amount": "50.00",
    "to_fix_fee_amount": "0.00",
    "to_percent_fee_amount": "0.00",
    "description": "demo",
    "created_on": "2012-07-16 10:04:29",
    "activated_on": "0000-00-00 00:00:00",
    "executed_on": "0000-00-00 00:00:00",
    "verify_transaction_by": "o",
    "from_account_name": "xxxxxxxxxxxx",
    "from_account_email": "xxxxxxx@gmail.com",
    "from_account_phone_no": "xxcxxxxxx",
    "to_account_name": "yyyyyyy",
    "to_account_email": "yyyyy@gmail.com",
    "to_account_phone_no": "yyyyyyyy"
},
{
    "id": "A26BF7F75534B",
    "from_account_id": "1014635",
    "to_account_id": "1054630",
    "transaction_type_id": "5",
    "transaction_mode_id": "2",
    "transaction_status_id": "4",
    "amount": "1000.00",
    "real_amount": "1000.00",
    "promote_amount": "0.00",
    "from_fix_fee_amount": "0.00",
    "from_percent_fee_amount": "0.00",
    "to_fix_fee_amount": "0.00",
    "to_percent_fee_amount": "0.00",
    "description": "",
    "created_on": "2012-07-15 00:52:40",
    "activated_on": "2012-07-15 00:53:19",
    "executed_on": "2012-07-15 00:54:57",
    "verify_transaction_by": "o",
    "from_account_name": "yyyyyy",
    "from_account_email": "yyyyyy@gmail.com",
    "from_account_phone_no": "yyyyyyy",
    "to_account_name": "wwwwwww",
    "to_account_email": "yywywyyy@gmail.com",
    "to_account_phone_no": "yyyyyyyyy"
}]

4 个答案:

答案 0 :(得分:3)

这是JSONArray而不是JSONObject ..
JSON Array iteration in Android/Java

JSONArray values = new JSONArray(resultString);
for(int i = 0 ; i < values.length(); i++){
    JSONObject object = (JSONObject) values.get(i); 
    String id = object.getString("id");
    //the same for the rest
}

答案 1 :(得分:1)

这不是JSON对象 - 它是一个包含两个对象的JSON数组。

首先使用new JSONArray(resultString);,然后从中获取对象。

答案 2 :(得分:1)

Hi []表示JSON中的数组,因此在解析后尝试将其放入JSONArray中... new JSONArray(resultString).getJSONObject(int index);

以这种方式你可以得到JSON对象..

答案 3 :(得分:1)

为了解析JSON,我使用了GSON

JsonElement jelement = new JsonParser().parse("json text");
  

JsonArray array = jobject.getAsJsonArray(“myarray”);
  对于   (JsonElement item:array){...}