这个错误又回来了!
我是改装的初学者,我看过这篇文章:改装:预期BEGIN_OBJECT但BEGIN_ARRAY
但是即使我试着让它适应我的模型,我仍然不能让它工作。所以我的错误是:
Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 55 path $[0].genericDevice
我得到的是:
[
{
"deviceUuid": "btB4:99:4C:59:F8:1F",
"genericDevice": {
"manufacturerName": "BeeWi",
"productName": "BeeWi BBL207",
"smartFunctions": [
"switch",
"rgbled",
"whiteled"
]
}
},
{
"deviceUuid": "btD0:39:72:B8:93:F2",
"genericDevice": {
"manufacturerName": "AwoX",
"productName": "SML-c9",
"smartFunctions": [
"switch",
"whiteled",
"rgbled"
]
}
},
{
"deviceUuid": "bt20:C3:8F:E4:B2:2A",
"genericDevice": {
"manufacturerName": "Iwedia",
"productName": "RTRKSP",
"smartFunctions": [
"switch",
"smartmeter"
]
}
},
{
"deviceUuid": "btA0:14:3D:0C:D3:74",
"genericDevice": {
"manufacturerName": "Parrot",
"productName": "Flower power",
"smartFunctions": [
"switch",
"battery",
"plantmanager"
]
}
},
{
"deviceUuid": "bt78:A5:04:5A:0B:36",
"genericDevice": {
"manufacturerName": "BeeWi",
"productName": "BeeWi SmartClim",
"smartFunctions": [
"temperaturehumidity"
]
}
},
{
"deviceUuid": "bt54:4A:16:59:E4:86",
"genericDevice": {
"manufacturerName": "AwoX",
"productName": "AL-Bc7",
"smartFunctions": [
"switch",
"rgbled",
"whiteled",
"oildiffuser"
]
}
}
]
解析类的属性:
private String deviceUuid;
private IoTGenericDevice ioTGncDvc;
IoTGenericDevice子类的属性:
public String manufacturerName;
public String productName;
public ArrayList<String> smartFunctions = new ArrayList<String>();
改装电话:
@GET("/iot/scanning")
public void getIoTs(@Header(Auth.ID_SESSION_HEADER) String idSession, Callback<IoT[]> cbk);
经理:
public void getIoTs(final CallbackIoTs cbkIoTs)
{
AdapterUtils.createBboxService(bbox, IBboxIoTService.class).getIoTs
(bbox.getSessionId(), new Callback<List<IoT>>() //REST call
{
@Override
public void success(List<IoT> iots, Response rsp)
{
int statCode = rsp.getStatus();
if (statCode == 200) {
List<IoT> iotLst = Arrays.asList(iots);
Log.e(LOG_TAG, iotLst.get(0).getIoTGncDvc().getMnf());
cbkIoTs.onResult(statCode, iotLst);
} else {
Log.e(LOG_TAG, "Unexpected response while getting IoTs. HTTP code: "
+ String.valueOf(statCode)
+ " - 200 expected");
cbkIoTs.onResult(statCode, null);
}
}
@Override
public void failure(RetrofitError rtfErr)
{
int statCode = 500;
if (rtfErr.getResponse() != null)
statCode = rtfErr.getResponse().getStatus();
Log.e(LOG_TAG, "Error while getting IoTs. HTTP code: "
+ String.valueOf(statCode)
+ " - Server response: "
+ rtfErr.getMessage());
cbkIoTs.onResult(statCode, null);
}
});
}
这应该是对象:
public class Test{
@Expose
private String deviceUuid;
@Expose
private GenericDevice genericDevice;
}
这是通用设备对象:
public class GenericDevice {
@Expose
private String manufacturerName;
@Expose
private String productName;
@Expose
private List<String> smartFunctions = new ArrayList<String>();
}
改装电话:
@GET("/iot/scanning")
public void getIoTs(@Header(Auth.ID_SESSION_HEADER) String idSession, Callback<List<Test>> cbk);
适配器调用:
AdapterUtils.createBboxService(bbox, IBboxIoTService.class).getIoTs
(bbox.getSessionId(), new Callback<List<Test>>(){...}
我知道以前有人问过很多这个问题,但在我的情况下,我找不到解决办法。我请求获得关于POJO(电影)列表的json回复 虽然这是我第一次使用改型,但我在标题中遇到了问题。我正在创建的url是正确的,下面是响应的示例: 这是我的模特 } 我的@GET 我的数据请求类 最后,我想在我的主要活动中做些什么
当我只收到列表中的一个项目时,就会出现这个错误。我在服务器端REST Web服务中使用Jersey,只有当列表返回一个元素时,以及当它有但当它有多个异常时,它工作得非常完美,我就是这样做的: Jersey为什么不发送包含一个项目的列表?是泽西岛的虫子吗?有没有办法让它始终序列化为数组? 这是web服务返回0元素时的JSON数据: 这是web服务返回1个元素时的JSON数据: 当web服务返回超过1
您好,我是新来的改装库,我有问题解析一些json。我已经研究了Stackoverflow的一些其他解决方案,但我的问题没有太多的运气。我正在尝试一个简单的网络服务。如有任何建议,将不胜感激。。 json文件 请求方法 Employees.java 雇员萨皮。JAVA 我得到的错误是 我理解错误是说数据是一个对象,它应该以数组开头,但我无法计算出来。。谢谢
问题内容: 我是JSON解析的新手,我使用Square的Retrofit库并遇到了这个问题。 我正在尝试解析此JSON响应: 这是我的模型: 我的界面: 我的成功方法: 当我将其用于成功方法时,会引发错误 预期为BEGIN_OBJECT,但在第1行column2处为BEGIN_ARRAY 怎么了 问题答案: 现在,你正在解析响应,就好像它是这样格式化的: 异常告诉你,你期望在根目录有一个对象,但实
嗨,我是改装2.0库的新手,我在解析一些json时遇到了问题。我在Stackoverflow上看了一些其他的解决方案,但我的问题运气不佳。我试图用改装2.0从Android系统调用一个api。但它抛出了预期的错误BEGIN_ARRAY但BEGIN_OBJECT。 我对web api的回应是: 这就是我的模型类: 这是我的界面: 这就是我打电话的方式:
使用改装库来使用一项服务,我为我的界面、模型以及如何使用界面添加了代码。 我不断收到一个GSON抛出的“预期的BEGIN_对象,但是BEGIN_数组” 界面 模范公立班学生{ 我怎么称呼方法