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": " "
}
正如我所看到的,当响应有一些数据
结果集
have
JSON数组
时,我们将
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块来处理它。