Parse JSON key that is either object or array of o

2019-04-29 11:06发布

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
}

标签: java json moshi
1条回答
叼着烟拽天下
2楼-- · 2019-04-29 12:04

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.

查看更多
登录 后发表回答