org.json.JSONException:JSONArray [0]不是JSONObject

时间:2016-08-25 07:58:00

标签: java json

String jsreturn: [{"type":1, "msg":"ERROR"}]的输出。

我正在尝试获取msg密钥的内容,这是ERROR。我是通过将字符串返回转换为数组来实现的。但是,我在跟随代码的每一行旁边都会收到一些错误。 任何见解?

 Vector<ClsReturn> ret = null;
 ret = ds.id(collection, "fs",in_uri );

 String jsReturn = ret.toString();

 JSONObject myJsonObject = new JSONObject(ret);

 JSONArray array = new JSONArray(jsReturn); 

 int i = 0;

 while(i < array.length()){
     myJsonObject = array.getJSONObject(i); //org.json.JSONException: JSONArray[0] is not a JSONObject.
     System.out.println(myJsonObject.getString("msg"));
     i++;
 }

1 个答案:

答案 0 :(得分:2)

我不知道我是否理解了你的问题,我认为这很容易,这很有效:

    String jsReturn =" [{\"type\":1, \"txt\":\"ERROR\"}]";
    JSONArray array = new JSONArray(jsReturn); 
    int i = 0;
    JSONObject myJsonObject = new JSONObject();
    while(i < array.length()){
        myJsonObject = array.getJSONObject(i); 
        System.out.println(myJsonObject.getString("txt"));
        i++;
    }