解析json异常Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $问题详解编程语言
2023-06-13 09:11:50 时间
场景:
接口正常返回的数据格式为
{ "code": "200", "data": { "age": 18, "username": "zhangsan" "msg": "操作成功"
接口调用异常情况下返回
{ "code": "101", "msg": "请求异常"想起在开发安卓时候经常会遇到这类问题
如果后端同事给的是null,gsonformat会将字段自动解析成object类型,这显然是不对的额
当时解决办法就是生成实体类时让后端同事给一个完整的报文,使用gsonFormat生成一个正确的实体类,这样每个属性的类型就确定了;如果某个字段没有返回,app也不会解析异常,响应字段也就是null
在使用springboot返回报文时,没有设置data或者设置为null;app收到的报文如下;
{ "code": "101", "msg": "请求异常", "data":""
导致app解析时候提示except
Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $解决办法
方法一:通过在返回实体类上添加注解
@JsonInclude(JsonInclude.Include.NON_NULL)
方法二:通过application.properties(或者去yml中配置)
#设置不返回null字段 spring.jackson.default-property-inclusion=non_null
控制返回返回属性,如果为null就不返回;这样接口异常情况下app收到的报文如下,就不会解析异常了:
{ "code": "101", "msg": "请求异常"
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/18740.html
cjavaxml相关文章
- Java删除文件时总是返回false,删不掉,且无异常
- DataBinder MethodArgumentTypeMismatchException 前后端参数转化异常
- java字符串转换为json对象6_Json对象与Json字符串的转化、JSON字符串与Java对象的转换…
- HDFS——写文件中的异常处理
- 可视化生产管理之异常ANDON安灯看板系统说明
- SpringMVC 最新 WebMvcConfigurer 视图解析器 异常处理器 拦截器
- JavaSE异常
- Python网络编程-网络编程中的异常处理(一)
- java面向对象(异常)详解编程语言
- Python traceback 模块, 打印异常信息详解编程语言
- JQuery处理json与ajax返回JSON实例详解编程语言
- org.hibernate.AssertionFailure: null id 异常的处理详解编程语言
- net.sf.json.JSONException: There is a cycle in the hierarchy! 异常解决详解编程语言
- java加密时报异常NoSuchProviderException:no such provider: B详解编程语言
- Spring异常重试框架Spring Retry详解编程语言
- Python3 打开 https 链接,异常:“SSL: CERTIFICATE_VERIFY_FAILED”详解编程语言
- hibernate的报错异常详解编程语言
- java异常 java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory详解编程语言
- 搞定 MongoDB 异常,从此无压力(mongodb异常)
- Oracle抛出异常:处理技巧与解决方案(oracle抛出异常)
- 无法正常获取Oracle SCN异常处理路径(oracle scn异常)