GSON неправильно анализирует вложенные объекты JSON

Вы не можете сопоставить шаблон по Stream.empty, потому что это метод (в объекте Stream), который всегда возвращает пустой поток (но компилятор этого не знает).

Вместо присвоения val empty = Stream.empty, вы можете сопоставлять Stream.Empty, который является Object:

scala> a match {
           case Stream.Empty => println("done")
           case h #:: tl => println(h)
       }
2
задан Cœur 23 March 2019 в 03:59
поделиться

3 ответа

Имя свойства Json должно соответствовать свойствам вашего класса POJO, оно должно быть location, а не LocationObject

public class Building {
private String title;
private String description;
private String cid;
private String building_id;
private String building_number;
private String campus_code;
private String campus_name;
Location location;
ArrayList < Object > offices = new ArrayList < Object > ();

//Setters and getters have been omitted

}
0
ответ дан Deadpool 23 March 2019 в 03:59
поделиться

Прежде всего, измените:

Location LocationObject;

на:

private Location location;

И вы можете десериализовать JSON гораздо проще:

Gson gson = new GsonBuilder().create();
Building building = gson.fromJson(json, Building.class);
0
ответ дан Michał Ziober 23 March 2019 в 03:59
поделиться

Похоже, у вас плохое наименование. Ваш объект местоположения в классе Building называется LocationObject, когда ваш объект внутри JSON называется location.

0
ответ дан Adam Macierzyński 23 March 2019 в 03:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: