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);