从根本上说,问题在于您的 Java 对象模型与 json 文档的结构不匹配。您正在尝试将单个 json 元素反序列化为 java 列表。您的 JSON 文档如下所示:
{
"serviceCoreTypes":[
{
"serviceCoreType":{
"name":"ALL",
"description":"All",
"dateCreated":"2016-06-23 14:46:32.09",
"dateModified":"2016-06-23 14:46:32.09",
"deleted":false,
"id":1
}
},
{
"serviceCoreType":{
"name":"HSI",
"description":"High-speed Internet",
"dateCreated":"2016-06-23 14:47:31.317",
"dateModified":"2016-06-23 14:47:31.317",
"deleted":false,
"id":2
}
}
]
}
但是你不能把serviceCoreTypes变成List,你只能把Json Array变成List。例如,如果您从 json 中删除了不必要的包装器元素,并且您的输入文档看起来像:
[
{
"name": "ALL",
"description": "All",
"dateCreated": "2016-06-23 14:46:32.09",
"dateModified": "2016-06-23 14:46:32.09",
"deleted": false,
"id": 1
},
{
"name": "HSI",
"description": "High-speed Internet",
"dateCreated": "2016-06-23 14:47:31.317",
"dateModified": "2016-06-23 14:47:31.317",
"deleted": false,
"id": 2
}
]
然后您应该能够将其反序列化为List< S_ServiceCoreTypeModel>。或者,如果您无法更改 json 结构,您可以创建一个 Java 对象模型,通过创建一些包装类来对 json 文档进行建模。比如:
class ServiceCoreTypes {
List<ServiceCoreType> serviceCoreTypes;
...
}
class ServiceCoreTypeWrapper {
ServiceCoreType serviceCoreType;
...
}
class ServiceCoreType {
String name;
String description;
...
}