使用Gson读取Json字符串结果错误"不是JSON数组"

Nee*_*esh 4 javascript java android json gson

在我的项目中,我有一个复杂的json响应.我想通过GSon阅读它.

JSON : {'FoodMenuRS':{'Results':[{'Items':{'Item':[{'@Id':'24'},{'@Id':'24'}]}}, {'Items':{'Item':{'@Id':'24'}}}]}}
Run Code Online (Sandbox Code Playgroud)

它包含一个带有第一个"Item"的JSONArray和带有第二个的JSONObject.因此它的调用导致错误,

failed to deserialize json object {"@Id":"24"} given the type java.util.List<com.servlet.action.ItemInfo>  and  java.lang.IllegalStateException: This is not a JSON Array.
Run Code Online (Sandbox Code Playgroud)

请帮助我应该如何处理这种情况.谢谢.

Lal*_*ani 5

您显示的字符串JSONObject不是a JSONArray.因此,在这种情况下,首先必须获取JSONObject并对该JSONObject执行进一步解码.

JSONObject - {}

JSONArray - []
Run Code Online (Sandbox Code Playgroud)

确实JSONObjectJSONArray应该使用编码Double-quotes(")