2015-11-25 3 views
0

Я работаю с JSON в первый раз, и моя цель состоит в том, чтобы сделать объект со свойствами назначения, происхождения, и продолжительность от этого результата JSON (Google Distance Matrix API)Получение значения из вложенного JSON с помощью GSON

{ 
    "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); Но я имею очень трудно понять, как получить значения внутри гнезда. В частности, я пытаюсь схватить «текст» от продолжительности.
Любая помощь была бы очень воспринята!

+0

Создайте эквивалентный класс java, который может отображать объект json. – bond007

+0

Вот пример http://thegeekyland.blogspot.com/2015/11/serializing-and-deserializing-json-from.html – Arlind

ответ

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 в объект.

Смежные вопросы