2017-02-01 3 views
1

Я пытаюсь отобразить следующий ответ:Карта окутан ответ в POJO

{ 
    "data": { 
     "id": "1574083", 
     "username": "snoopdogg", 
     "full_name": "Snoop Dogg", 
     "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_1574083_75sq_1295469061.jpg", 
     "bio": "This is my bio", 
     "website": "http://snoopdogg.com", 
     "counts": { 
      "media": 1320, 
      "follows": 420, 
      "followed_by": 3410 
     } 
} 

в объект, где я только хочу, чтобы получить поля имя пользователя, full_name, и удостоверение личности.

Ex: что-то вроде:

public class User{ 
    String id; 
    String username; 
    String full_name; 

    // getters + setters 

} 

Есть ли способ сделать это без первого того, чтобы сохранить объект данных в карту?

+0

Неправильное отображение полного 'json' объекта и получение полей, которые вам нужны? – Arpit

ответ

2

Использование Джексон API. Это должно быть простым:

ObjectMapper mapper = new ObjectMapper(); 
User user = mapper.readValue(jsonString, User.class); //jsonString is your actual json string. 

Возможно, вы захотите настроить свой класс User в соответствии со строкой JSON. Например. ваш пользовательский класс должен иметь поле «данные» как List<Data> data;, где «Данные» - это другое POJO. Вы можете добавить поля «id», «userName» и т. Д. В «Data» pojo.

+1

Кроме того, библиотека Джексона также даст вам объектные карты, например, для XML и CSV, если это то, что вам может понадобиться. –

+1

Супер, спасибо VHS - это сделал трюк. – Dayna

0

Вы можете сделать это вручную с помощью, например, регулярное выражение или использовать любой из JSON библиотек, как Джексон, GSON и т.д.

0

С GSON это довольно просто. Скажем, ваш json хранится в переменной String jsonString.

Gson gson = new Gson(); 
YourObject = gson.fromJson(jsonString, YourObject.class); 

Хотя я не уверен, что будет происходить, так как ваш jsonString не имеет ключ с именем User. Однако это должно сработать, если вы сначала извлечете data из своего jsonString и назовите POJO Data.

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