0

我是第一次使用 JSON,我的目标是从这个 JSON 结果(Google 距离矩阵 API)中创建一个具有 Destination、Origin 和 Duration 属性的对象

{
   "destination_addresses" : [ "123 High St, Los Angeles, CA 90210, USA" ],
   "origin_addresses" : [ "800 Lake Dr, Los Angeles, CA 90210, USA" ],
   "rows" : [
      {
         "elements" : [
            {
               "distance" : {
                  "text" : "2.0 km",
                  "value" : 1969
               },
               "duration" : {
                  "text" : "6 mins",
                  "value" : 338
               },
               "status" : "OK"
            }
         ]
      }
   ],
   "status" : "OK"
}

到目前为止,我已经能够使用这条线正确存储目的地和原点
Property data = new Gson().fromJson(json, Property.class); 但是我很难弄清楚如何从巢中获取值。具体来说,我试图从持续时间中获取“文本”。
任何帮助将不胜感激!

4

1 回答 1

0

首先为周围的数据创建一个容器。

class MainContent
{
  public String destination_addresses;
  public String bar;
  public List<SubContent> subcontent;
}

然后为嵌套数据创建一个类:

class SubContent
{
    public String text; 
}

任一类中的字段必须与您的 json 对象具有相同的名称。

然后简单地说:

gson.fromJson(jsonData, MainContent.class);

GSON 将尝试将 json 字符串中的值反映到对象中。

于 2015-11-25T18:39:39.693 回答