Java JSON对象可以';无法转换为JSON数组
是的,我知道在映射时这是一个非常常见的问题,但我的问题是一些不同的场景 当我的响应Java JSON对象可以';无法转换为JSON数组,java,json,jackson,jsonobject,Java,Json,Jackson,Jsonobject,是的,我知道在映射时这是一个非常常见的问题,但我的问题是一些不同的场景 当我的响应有数据时会给我JSON响应如下 { "responseID": "110", "resultSet": [ { "USERNAME": "Aninja", "position": "Developer", "salary": "60000" } ], "isSuccessful": true, "rtnCode": "0000" } 下面是相
有数据时
会给我JSON响应
如下
{
"responseID": "110",
"resultSet": [
{
"USERNAME": "Aninja",
"position": "Developer",
"salary": "60000"
}
],
"isSuccessful": true,
"rtnCode": "0000"
}
下面是相同的JSON响应
当找不到数据时
{
"responseID": "123",
"resultSet": {},
"isSuccessful": true,
"rtnCode": " "
}
正如我所看到的,当响应有一些数据结果集
haveJSON数组
时,我们将JSON对象
作为响应
这就是我遇到这个问题的原因。
所以我的问题是,我应该如何处理这个问题谢谢你的回答
编辑:主要问题是,我将我的模型设置为类似于JSON对象列表的
当有结果时,它可以正常工作,但它会给我错误当结果为空时,无法将JSON对象转换为JSON数组请建议我如何处理它我正在使用的Jackson 2.2
我也尝试过@JsonInclude(Include.NON\u EMPTY)
和@JsonInclude(Include.NON\u NULL)
我不会说这是服务器或后端的错误。但是,提供适当的“空对象模式”始终是一个好的实践,它描述了此类对象的使用及其行为
因此,为了更好地实践,应该使用“[]”返回没有任何值的数组。因此,在本例中,“resultSet”应该作为[]而不是{}给出,这样在前端就可以很容易地理解它
这里有很多例子,说明了为什么遵循空对象模式很有用
例如,如果您在响应中返回count而没有count,则最好使用“0”而不是“null”。检查服务器端的resose对象,无论结果集是否为列表。您是否从服务器获得JSON响应?如果是,那么服务器端一定有问题。可能有一个XML到JSON的转换发生在服务器端。但是我必须自己处理这个问题。我不能告诉服务器端的程序员实际上我没有开发这个服务。这就是为什么我问我需要后端处理这个问题,或者我可以通过逻辑处理这个问题?谢谢你的回答。你可以使用try-catch块来处理它。