Вы не можете сопоставить шаблон по Stream.empty
, потому что это метод (в объекте Stream
), который всегда возвращает пустой поток (но компилятор этого не знает).
Вместо присвоения val empty = Stream.empty
, вы можете сопоставлять Stream.Empty
, который является Object
:
scala> a match {
case Stream.Empty => println("done")
case h #:: tl => println(h)
}
Имя свойства 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
}
Прежде всего, измените:
Location LocationObject;
на:
private Location location;
И вы можете десериализовать JSON
гораздо проще:
Gson gson = new GsonBuilder().create();
Building building = gson.fromJson(json, Building.class);
Похоже, у вас плохое наименование. Ваш объект местоположения в классе Building называется LocationObject
, когда ваш объект внутри JSON называется location
.