【发布时间】:2017-11-21 11:00:19
【问题描述】:
我正在从 JSON API 获取数据。我正在使用 GSON 来解析我的 Android 应用程序的数据。问题是,同一变量的值在一种情况下是 JSONArray,但在另一种情况下,它是 JSONObject。因此,我无法编写 GSON 可以用来解析数据的 Java 类。
第一反应 - “方向”是一个数组
{
"route":{
"time_min":"10",
"directions":{
"direction":[
{
"direction_description":"Dummy text.",
"direction_number":"1"
},
{
"direction_description":"Dummy text.",
"direction_number":"2"
},
{
"direction_description":"Dummy text.",
"direction_number":"3"
}
]}}}
第二反应 - “方向”是一个对象
{
"route":{
"time_min":"10",
"directions":{
"direction":
{
"direction_description":"Dummy text.",
"direction_number":"1"
}
}}}
我应该如何编写 GSON 将用于解析的 Java 类?
【问题讨论】:
-
你说的区别是什么?
-
你发布的两个回复完全一样。
-
没看出有什么区别???
-
返回数组时,我需要创建一个对象的列表。返回对象时,我只需要创建一个具有相同变量名的对象。我不能在同一个类中两次使用相同的变量名。 “@SerializedName”注释也不起作用。
-
我认为你误解了你的 json。您有 1) JSONObject,名称为
directions(带有 s)。 2) 一个名为direction的 JSONArray(不带 s)。
标签: java android json deserialization json-deserialization