【发布时间】:2014-04-30 19:18:17
【问题描述】:
我正在尝试反序列化以下 JSON:
[{
"customerDetails":
{
"customer_name": "name",
"customer_email": "email"
},
"shippingDetails":
{
"shipping_contact": "name",
"shipping_street": "Av:"
}
}]
Array
(
[0] => Array
(
[customerDetails] => Array
(
[customer_name] => name
[customer_email] => email
)
[shippingDetails] => Array
(
[shipping_contact] => shipname
[shipping_street] => Av:Name
)
)
)
这是我的课程:
public class Order {
private List<CustomerDetail> customerDetail;
private List<Shipping> shipping;
//getters and setters
}
public class Shipping {
private String contact;
private String street;
//getters and setters
}
public class CustomerDetail{
private String name;
private String email;
//getters and setters
}
我试过了:
Gson g = new Gson();
Order[] order = g.fromJson(new FileReader("jason"), Order[].class);
List <CustomerDetail> cd = order[0].getCustomerDetail();
System.out.println(cd.get(0).getName());
但我一直在 NullPointer 或
java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2
【问题讨论】:
-
我可能不正确,但对我来说不像json。
-
我只是格式化得更好:[{"customerDetails":{"customer_name":"name","customer_email":"email"},"shippingDetails":{"shipping_contact":"name" ,"shipping_street":"Av:"}]
标签: java arrays json serialization gson