Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GSON:应为BEGIN\u数组,但为BEGIN\u对象_Java_Json_Gson - Fatal编程技术网

Java GSON:应为BEGIN\u数组,但为BEGIN\u对象

Java GSON:应为BEGIN\u数组,但为BEGIN\u对象,java,json,gson,Java,Json,Gson,我对gson反序列化有问题。 传入的json看起来是这样的{“角色”:{“名称”:“bla”“perm”:“bla”}}或者当有更多的角色可用时,它看起来是这样的 {“角色”:[{“名称”:“bla”“perm”:“bla”}{“名称”:“hihi”“perm”:“hihi”}]}。所以第一次参数角色是一个对象,第二次是一个对象数组 当我的java类具有字段角色[]角色时出现问题;在json参数角色中,只有一个对象异常被抛出“预期的BEGIN\u数组,但却是BEGIN\u对象” 谢谢你,这是一个

我对gson反序列化有问题。 传入的json看起来是这样的{“角色”:{“名称”:“bla”“perm”:“bla”}}或者当有更多的角色可用时,它看起来是这样的
{“角色”:[{“名称”:“bla”“perm”:“bla”}{“名称”:“hihi”“perm”:“hihi”}]}
。所以第一次参数角色是一个对象,第二次是一个对象数组

当我的java类具有字段角色[]角色时出现问题;在json参数角色中,只有一个对象异常被抛出“预期的BEGIN\u数组,但却是BEGIN\u对象”


谢谢你,这是一个有点难以置信的情况-你不能期望库能同时正确处理json的两个不同模式。然而,当我的客户使用GSON消费服务时,我遇到了类似的问题,但它们是使用Jersey配置的


添加Jackson和正确的配置使我的服务始终提供一个数组,这是问题的实际解决方案。有关如何修复该服务的说明,请参阅。

您可以使用自己的TypeAdapter来处理单个实例案例,将其反序列化,然后转换为数组并在字段中设置,使其统一。

谢谢您的帖子。问题是我无法访问此应用程序的服务器端:(.Hmm)那么可能会使用Jacksoon而不是GSON?在所有这些库声明对数组的处理不一致之后,所以它们至少应该能够处理自己的输出。