json - 改造 - 是否有可能期望字符串或对象作为响应
问题描述
我必须向 API 请求默认情况下返回一个对象,并且有一个“更多”部分可能是对象或字符串,这取决于发送的某些数据。这样创作是有目的的,当然不是我创作的。
{
...
"list": {
...
"more": {
"header": {
"a": "..."
},
"request": {
...
}
}
}
}
以上是我从 API 获得的典型响应,该列表更多的是一个对象。但是,有时它会像下面那样返回,而这当然会导致我出错。
{
...
"list": {
...
"more": "no data available"
}
}
我只是好奇是否可以处理它,因为如果响应与 POJO 不完全相同,改造会立即抛出错误?或者我可以利用 Any 来实现吗?因为如果我将 POJO 更改为 String,如果响应是一个对象,它会导致我出错。
让我们不要忘记我是如何请求响应的。我可以提供,但是这个问题有必要吗?如果是那么问我我会的。
将 POJO 更改为 Any 是不可能的,因为 Parcelize 不支持此类型。
编辑
既然有人问我会收到什么错误,那么我会在这里让它可读。
如果我将它设置为字符串,那么如果响应是字符串就可以了,但如果它是对象,它会返回。
java.lang.IllegalStateException:除了字符串,但在第 1 行第 1 列 4363 $.list.more 为 BEGIN_OBJECT
如果我将它设置为 object 但它会返回 String
java.lang.IllegalStateException:排除了一个对象,但在第 1 行第 1 列 4363 $.list.more
解决方案
推荐阅读
- javascript - jQuery: Javascript 中的 not()
- .net - 您如何解决单选按钮组的绑定问题
- kotlin - Kotlin - 以实用的方式从平面列表构建列表映射
- python - 如果预先输入,我如何为一个范围输入 2 次
- json - 在烧瓶中返回多个 json 对象
- symfony - 简单的 Doctrine 查询生成器
- java - h2 中的查询 group by 有效,但在 Oracle DB 中无效
- powerbi - 能够在字段范围内填充总和
- django - 在 Django 中使用轮播显示图像
- google-cloud-storage - 使用 gsutil 生成使用生成号的签名 url