Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 转换为Json对象时出错_Android_Json - Fatal编程技术网

Android 转换为Json对象时出错

Android 转换为Json对象时出错,android,json,Android,Json,我正在使用RESTfulWebService,并从中获得json,如下所示 response = [{"id":1,"name":"Appetizers","image":"iVBORw0KGgoAAAANSUhEUgAAADgAAAAkCAIAAABT8G6pAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAABb5SURBVFhHPVgHUFPrtmbevTPvvnPvO8eKKJ1ASAikEEIaS

我正在使用RESTfulWebService,并从中获得json,如下所示

  response = [{"id":1,"name":"Appetizers","image":"iVBORw0KGgoAAAANSUhEUgAAADgAAAAkCAIAAABT8G6pAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAABb5SURBVFhHPVgHUFPrtmbevTPvvnPvO8eKKJ1ASAikEEIaSYBAEkroSLWBHex67A3FBhYsWEFUBBuCDRRRpCMlhPS+0zs1gHD0HN72vjfvnzV/dpI9s7 ....
之后,我想将这个json转换为JSONObject

  JSONObject obj = new JSONObject(response);
当我执行这个命令时,我得到以下错误

org.json.JSONException: Value [{"resturantID":{"phoneNo":"a","id":1,"fax":"a","address":"a" ...
当我使用GlassFish3时,我的程序运行良好,因为json结构与此不同
有什么问题

我想,问题出在你的JSON上。JSON无效

"id":1
应该是

"id":"1"

请检查。

这是一个
JSONArray
而不是
JSONObject
-要从中生成JSONObject,请使用

JSONObject jsonObject = jsonArray.getJSONObject(0);
这将从此JSONArray获取第一个JSONObject

如果您有多个JSONObject,请使用以下方法:

JSONObject jsonObject;
for(int n = 0; n < jsonArray.length(); n++)
{
    jsonObject = jsonArray.getJSONObject(n);
}
JSONObject-JSONObject;
for(int n=0;n
如果您的
响应在迭代后保留stringbuilder的输出
然后您可以尝试下面的代码

try{
            jArray = new JSONArray(response);
            for(int i=0;i<jArray.length();i++){
                    json_data = jArray.getJSONObject(i);
            }
}
试试看{
jArray=新的JSONArray(响应);

对于(int i=0;i这里的“response”字符串不是JSONObject。它是JSONArray。您首先需要获取JSONArray,然后从中获取所有JSONObject。这实际上是有效的,它只是一个
int
而不是
字符串