【发布时间】:2014-07-15 12:29:01
【问题描述】:
我正在尝试将此 JSON 解析为 POJO,但出现错误
“应为 BEGIN_ARRAY,但在第 1 行第 2 列是 BEGIN_OBJECT”
我认为问题是因为我嵌套了 JSON 对象和 json 数组。这是我试图解析的 JSON 的样子:
[
{
"id":"3",
"table":{
"id":"1",
"number":"1",
"seats":"2",
"description":"Vereda"
},
"user_id":"1",
"status":null,
"created_at":{
"date":"2014-05-21 20:46:36",
"timezone_type":3,
"timezone":"UTC"
},
"updated_at":{
"date":"2014-05-21 20:46:36",
"timezone_type":3,
"timezone":"UTC"
},
"items":[
{
"id":"1",
"description":"",
"name":"Caf\u00e9 mediano",
"price":"8.5"
},
{
"id":"1",
"description":"",
"name":"Caf\u00e9 mediano",
"price":"8.5"
},
{
"id":"1",
"description":"",
"name":"Caf\u00e9 mediano",
"price":"8.5"
},
{
"id":"1",
"description":"",
"name":"Caf\u00e9 mediano",
"price":"8.5"
},
{
"id":"1",
"description":"",
"name":"Caf\u00e9 mediano",
"price":"8.5"
},
{
"id":"2",
"description":"dulce",
"name":"Medialuna",
"price":"3.75"
},
{
"id":"2",
"description":"dulce",
"name":"Medialuna",
"price":"3.75"
}
]
},
{
"id":"5",
"table":{
"id":"2",
"number":"2",
"seats":"4",
"description":"Mesa grande"
},
"user_id":"1",
"status":null,
"created_at":{
"date":"2014-05-21 20:49:21",
"timezone_type":3,
"timezone":"UTC"
},
"updated_at":{
"date":"2014-05-21 20:49:21",
"timezone_type":3,
"timezone":"UTC"
},
"items":[
{
"id":"1",
"description":"",
"name":"Caf\u00e9 mediano",
"price":"8.5"
}
]
},
{
"id":"6",
"table":{
"id":"5",
"number":"5",
"seats":"2",
"description":null
},
"user_id":"1",
"status":null,
"created_at":{
"date":"2014-05-21 20:51:12",
"timezone_type":3,
"timezone":"UTC"
},
"updated_at":{
"date":"2014-05-21 20:51:12",
"timezone_type":3,
"timezone":"UTC"
},
"items":[
{
"id":"1",
"description":"",
"name":"Caf\u00e9 mediano",
"price":"8.5"
},
{
"id":"2",
"description":"dulce",
"name":"Medialuna",
"price":"3.75"
}
]
},
{
"id":"7",
"table":{
"id":"1",
"number":"1",
"seats":"2",
"description":"Vereda"
},
"user_id":"1",
"status":null,
"created_at":{
"date":"2014-05-22 02:09:30",
"timezone_type":3,
"timezone":"UTC"
},
"updated_at":{
"date":"2014-05-22 02:09:30",
"timezone_type":3,
"timezone":"UTC"
},
"items":[
]
}
]
如您所见,每个对象“ORDER”都有嵌套对象,例如“Item”“Table”等。这是我各自的 Java 类
Order.class
public class Order {
private int id;
private Table table;
private int user_id;
private Date created_at;
private Date updated_at;
//GETTERS AND SETTERS....
}
Table.class
public class Table {
private int id;
private String description;
private int seats;
private int number;
//GETTERS AND SETTERS...
}
Item.class
public class Item {
private int id;
private String description;
private String name;
private double price;
//GETTERS AND SETTERS...
}
日期.class
public class Date {
private String date;
private int timezone_type;
private String UTC; //GETTERS AND SETTERS...
}
我正在通过这样的界面调用改造:
@GET(Constants.URL_ORDERS)
public List<Order> retreiveOrders();
我不知道我做错了什么:/
【问题讨论】:
标签: android json rest retrofit