Android 字符串到JSONObject的转换返回null

Android 字符串到JSONObject的转换返回null,android,Android,这是我的代码: JSONObject arrayobject = new JSONObject(preferences.getString("test", "")); String responseobject = arrayobject.getString("array"+index); JSONObject object = new JSONObject(responseobject); 这是arrayobject: {"array0":"{"myarray":[{"innerkey":"

这是我的代码:

JSONObject arrayobject = new JSONObject(preferences.getString("test", ""));
String responseobject = arrayobject.getString("array"+index);
JSONObject object = new JSONObject(responseobject);
这是arrayobject:

{"array0":"{"myarray":[{"innerkey":"innervalue"}],"key":"value"}"}
这是responseobject,它是一个字符串:

{
  "myarray": [
    {
      "innerkey": "innervalue"
    }
  ],
  "key": "value"
}
为什么对象总是设置为空


请帮帮我

需要使用两个json对象从响应中获取json数组和jsonobject

试试下面的代码

 JSONObject jsonObject = new JSONObject(preferences.getString("test",   ""));
 JSONObject jsonObject1 = new JSONObject(preferences.getString("test",   ""));
 JSONObject jbj;
 JSONArray jsonArray = new JSONArray(jsonObject .getString("myarray"));

                for (int i = 0; i < jsonArray.length(); i++)
                {
                    jbj= jsonArray.getJSONObject(i);
                    String innerkey= jbj.getString("innerkey");
                }

String key = jsonObject1 .getString("key");

希望对您有所帮助。

您确定这是responseobject返回的确切结果吗?这是responseobject的确切结构。请使用测试键检查首选项是否包含值。然后用key-array+index检查它是否有值。您确定您的IDE没有添加任何转义字符吗?对不起,我的英语不好,例如/或?@Boss是的,它有。。但对象仍然为空