Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.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
JSON错误“;java.lang.IllegalStateException:应为BEGIN_对象,但在第1行第1列路径$”处为字符串;_Java_Android_Json_Gson - Fatal编程技术网

JSON错误“;java.lang.IllegalStateException:应为BEGIN_对象,但在第1行第1列路径$”处为字符串;

JSON错误“;java.lang.IllegalStateException:应为BEGIN_对象,但在第1行第1列路径$”处为字符串;,java,android,json,gson,Java,Android,Json,Gson,这将创建异常 public interface UserService { @POST(Constants.Api.URL_REGISTRATION) @FormUrlEncoded BaseWrapper registerUser(@Field("first_name") String firstname, @Field("last_name") String lastname, @Field("regNumber") String phone, @Field("reg

这将创建异常

public interface UserService {
    @POST(Constants.Api.URL_REGISTRATION)
    @FormUrlEncoded
    BaseWrapper registerUser(@Field("first_name") String firstname, @Field("last_name") String lastname, @Field("regNumber") String phone, @Field("regRole") int role);


 public BaseWrapper registerUser(User user) {
        return getUserService().registerUser(user.getFirstName(), user.getLastName(), user.getPhone(), user.getRole());
    }

非常感谢您的帮助。

让我们看看您收到的错误

预期的BEGIN\u对象

JSON是一个对象,所有JSON对象都用大括号({})括起来。因此,BEGIN_对象是{。它在某处期待它

但这是一根绳子

但是他却发现了一个字符串“某物”。仍然没有告诉我们在哪里

在第1行第1列路径$


啊,太好了。在第1行第1列。这是JSON的开始。所以你忘了把整个东西放在{}中(或者至少你忘了第一个,但我打赌你忘了它们两个)。

清理并重建项目
这是由于Gson文件混乱造成的。

清理和重建项目对我来说很有效。

如果要在json对象中添加ArrayList并在Gson中解析,请确保ArrayList如下所示

 com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
ArrayList
而不是

ArrayList<JSONObject>
ArrayList
然后像这样解析

ArrayList<String>
ArrayList mItem=new ArrayList();
添加(jsonObject);
//像这样使用。
JSONArray list=新JSONArray(mItem);
jsonObject.put(“项”,列表);

您的json是错误的,请更正。请注意,如果json是一个具有良好格式的arrayExcellent解释,json也可以用方括号([])括起来。+1给您。@OO7@SnyersK@Astrogat如何避免我的应用程序崩溃-我在尝试格式化API errorBody响应时遇到此错误(当我在10秒内错误请求了25次)…我有
catch(IOException | IllegalStateException e)
但它没有帮助…亲爱的@Astrogat我的服务器中有一个截取器根本没有调用,但是我得到了这个错误!!!请帮助
ArrayList<JSONObject> mItem = new ArrayList<JSONObject>();
mItem.add(jsonObject);

// and Use like this.
JSONArray list = new JSONArray(mItem);
jsonObject.put("Item",list);