Parse JSON key that is either object or array of o

2019-04-29 11:08发布

问题:

In Moshi, is it possible to create a type adapter that would parse both an object or a list of objects of the same type?

For example, sometimes the JSON is:

{
  "person": {...}
}

Other times it is:

{
  "person": [{...}, {...}]
}

Ideally, I'd want to have a Java object looking like this:

class PersonContainer {
  @PersonsList List<Person> persons; // @List(Person.class) would be even better
}

回答1:

I would suggest you make just what you said, an adapter.
make a function(the adapter) to check whether its a single object or an array, probably based on the '[' char and the adapter will direct the input into the right handling function.

another method is to assume all the input is arrays and work from there.



标签: java json moshi