应为BEGIN\u对象,但在第1行第1列为字符串请帮助我,我遇到此错误
我的列表提供了从解析的json创建对象的类。Java语言
public class ListOffers {
@SerializedName("ListOffers")
@Expose
public List<Offer> offers;
public void setListOffers(List<Offer> offers) {
this.offers = offers;
}
public List<Offer> getListOffers() {
return offers;
}
public ListOffers() {
}
}
public class Offer {
public String username;
@Expose
public String title;
@Expose
public String description;
@Expose
public int discount;
@Expose
public String image1;
@Expose
public String image2;
@Expose
public String image3;
@Expose
public String image4;
public Date expiry_duration;
public Date date_posted;
}
我的JSON:
{"offers":[
{
"username":"zara",
"title":"zara offer",
"description":"zara description",
"discount":"0",
"image1":"",
"image2":"",
"image3":"",
"image4":"",
"expiry_duration":"2014-10-21",
"date_posted":"2014-10-07 04:01:20"
},....
]}
使用GSON解析JSON的MainActivity代码。。。。。
try {
// read the server response and attempt to parse it as JSON
Reader reader = new InputStreamReader(content);
GsonBuilder gsonbuilder = new GsonBuilder();
gsonbuilder.setDateFormat("yy-MM-dd hh:mm:ss"); //Format of our JSON dates
Gson gson = gsonbuilder.create();
ListOffers offers = gson.fromJson(reader, ListOffers.class);
content.close();
} catch (Exception ex) {
Log.e(TAG, "Failed to pasre JSON due to: " + ex);
failedLoadingOffers1();
....etc
错误:应为BEGIN\u对象,但在第1行第1列为字符串
格森。fromJson需要一个字符串变量,而您发送给它的是reader类型的变量。
您应该将读取器转换为字符串。或许可以这样使用:
try {
// read the server response and attempt to parse it as JSON
BufferedReader r = new BufferedReader(new InputStreamReader(content));
StringBuilder s = new StringBuilder();
String line;
while ((line = r.readLine()) != null) {
s.append(line);
}
//now s has your string
GsonBuilder gsonbuilder = new GsonBuilder();
gsonbuilder.setDateFormat("yy-MM-dd hh:mm:ss"); //Format of our JSON dates
Gson gson = gsonbuilder.create();
ListOffers offers = gson.fromJson(s.toString(), ListOffers.class); //here we send s
content.close();
} catch (Exception ex) {
Log.e(TAG, "Failed to pasre JSON due to: " + ex);
failedLoadingOffers1();
....etc
我有一个API,为了获取数据,我必须发送一个JSON参数。这是必须在中发送才能获取数据的JSON。 它在postman中工作,但在Android中,我有以下错误: 我想这是我的模型中的一个问题,但我无法修复它。 我的型号: 还有两种型号用于排序和筛选。我使用改装 我使用构造函数设置SendParametersGetData(在本例中,仅设置了视图名和参数),并将其作为输入提供给getMembers
我找到了一些解决方案,但我真的不知道如何开始。 这是我的密码。 接口 主要活动
从Android改型读取JSON字符串时出现问题。
我看到这个问题很多次了,但还是不明白。看起来我在现场发送请求,但它的正文不正确。但为什么呢?可能我不清楚改造是如何工作的,但我不是只是收集请求的链接并等待服务器的答案吗?这是链接:这里 带有请求的接口 和带有基本URL的类 改装构建类 JSON是通过这个解析的 主要活动是: 日志: 那么,如果请求错误,我应该为正常工作更改什么?
我正在使用Retro-Fit连接到API online。但是我在尝试解析返回的数据时遇到了这个错误。 返回的数据采用这种格式,数据模型也如下所示:
我必须使用Reform2创建/注册新用户我的服务器端是 我的模型课是 在职岗位为 将数据过帐为 我出错了 我找到了一些解决方案,并做出了相应的改变 但它也不起作用,同样的错误消息,如何解决这个错误。