问题
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.
来源:https://stackoverflow.com/questions/40110184/parse-json-key-that-is-either-object-or-array-of-object