精华内容
下载资源
问答
  • 方法有很多,你可以自己拿responseBody里的json,一个个字段自己解析;也可以给okhttp添加拦截器来处理response内容。...如果后端返回格式不规矩或者会变化的时候,将bean里定义的是Any或*即可比如有时返回的是这...

    方法有很多,你可以自己拿responseBody里的json,一个个字段自己解析;也可以给okhttp添加拦截器来处理response内容。

    这里提供一种简便的方法。

    Gson在反序列化的时候,默认是将{}转成LinkedTreeMap,[] 转成ArrayList,value是数字的全部定义为了double。

    如果后端返回格式不规矩或者会变化的时候,将bean里定义的是Any或*即可

    比如有时返回的是这样

    ab3161a871d9

    image.png

    有时是这样

    ab3161a871d9

    image.png

    可以看到event虽然都是个数组,可里面的内容完全就不一样,于是我就定义俩个data class,分别为ZulipMessage和DelMsgEventDTO

    data class ZulipEventDTO(

    val events: List>

    )

    event定义是一个集合,泛型就是Gson默认的LinkedTreeMap,这样不管是那种数据都可以接受到。并且存入map中。

    解析的时候,根据event.type的类型,解析成不同的类。

    private val parseMapGson = GsonBuilder().enableComplexMapKeySerialization().create() //重点行

    eventDTO.events.forEach { event ->

    when (event["type"]) {

    //根据type类型,解析成不同的类

    ZulipConst.EVENT_TYPE_MESSAGE -> {

    val messageJson = parseMapGson.toJson(event[ZulipConst.EVENT_TYPE_MESSAGE]) // 先将LinkedList转成json

    val zulipMessage = parseMapGson.fromJson(messageJson, ZulipMessage::class.java) //再根据类型转成bean对象

    saveMsg2Database(zulipMessage)

    }

    ZulipConst.EVENT_TYPE_DELETE_MESSAGE -> {

    val messageJson = parseMapGson.toJson(event[ZulipConst.EVENT_TYPE_DELETE_MESSAGE])

    val delMsgEventDTO = parseMapGson.fromJson(messageJson, DelMsgEventDTO::class.java)

    delMsgFromDb(delMsgEventDTO)

    }

    else -> {

    }

    }

    // Any被转成LinkedTreeMap时,所有数字都是double

    val eventId = (event["id"] as Double).toLong()

    if (eventId > lastEventId) {

    lastEventId = eventId

    }

    }

    总结:有type能帮忙判断返回数据类型的,那就根据类型定义不同的类,先用LinkedTreeMap接住数据,再根据类型转就是了。

    如果没有type这种字段,完全无法预料返回的是个什么,那不妨就从LinkedTreeMap中直接取数据。

    展开全文
  • 暂未深入研究,解决方案: 把定义的代码 @Data public class ReturnResponse { private String abc; private boolean isOk; } 修改为如下定义: @Data public class ReturnResponse { ......

    暂未深入研究,解决方案:

    把定义的代码

    @Data
    public class ReturnResponse {
    
        private String abc;
    
        private boolean isOk;
    }

    修改为如下定义:

    @Data
    public class ReturnResponse {
    
        private String abc;
    
        private Boolean isOk;
    }

    当作一个对象,就可以正常

    展开全文
  • const jsona = JSON.stringify(res.data) // 把接口返回的res.data数据转成字符串 // console.log(jsona); const jsonb = jsona.replace(/"Code"/g, '"value"') // 修改成你要的字段 const jsonc = jsonb.replace(/...
    const jsona = JSON.stringify(res.data) // 把接口返回的res.data数据转成字符串
    // console.log(jsona);
    const jsonb = jsona.replace(/"Code"/g, '"value"') // 修改成你要的字段
    const jsonc = jsonb.replace(/"Name"/g, '"label"')
    const endjson = JSON.parse(jsonc) //  把JSON 字符串转换成对象
    
    展开全文
  • var rawData = res.result[0]; var A = rawData for (var k in A) { $("#" + k + "").text(A[k]) // console.log(k,A[k]); }
     var rawData = res.result[0];
     var A = rawData
     for (var k in A) {
        $("#" + k + "").text(A[k])
        // console.log(k,A[k]);
     }
    
    展开全文
  • 要求 前端调用某接口,返回的是一个pojo,里面有些字段可能为null。null的字段,就不返回给前端了。...只需要在配置文件application上,增加spring.jackson.default-property-inclusion=non_null配置即可。 方式2
  • 后端多个接口都用同一个实体类,导致返回前端有很多不需要字段。 如果后续需要进行,编辑操作,一个个赋值会很麻烦。 整个对象赋值,又可能指针赋值,影响其他数据 这时候就需要,创建一个公共js文件用于过滤...
  • 在日常的工作中,一些情况后端直接把...// 后端返回的数据 applyTime: "2021-07-19T14:13:28.000+0800" // 前端处理数据 如果你需要时分秒的话。(hh:mm:ss) new Date(el.applyTime).pattern("yyyy-MM-dd"); ...
  • 前端如何处理后端返回得状态数据以及如何给数据里添加字段 // 表格数据 <el-table-column align="center" type="index" label="序号" prop="snumber" min-width="35" key="02"> &
  • 在实际项目中,有些由后端返回字段不能够直接渲染到页面,还需要前端做进一步处理。 比如这一连串的字段要把它转为数组 声明变量 let cooperatProject = obj.cooperatProject.replace(/[|]/g, ‘’).split(",") ...
  • optionProps: { value: "id", label: "label", children: "children", }, 这样就完美的解决了上面所出现的问题: 如果只想选中最后一级,只需要加上这个属性就可以了::show-all-levels="false" 如果想要获取当前...
  • 之前做项目的时候,基本都是...但是项目用的是fastjson,按照博文方法过滤的话有点麻烦,并且我的返回值是经过包装的JSONObject,会带上status、message等信息,并且过滤字段不确定,可能这个接口需要过滤它,另一个...
  • 需求: 因为需求变更快,需要经常增加查询字段,更改较为麻烦,因此需要做一个通用的动态查询组件,每次变更不由前端...该组件同样可以用于其他地方,比如动态展示详情页面,由后端返回详情页面需要展示的key、val...
  • async getMonitor(id) { let { data } = await ... _this.markerList = []; data.forEach(item => { let res = this.unzip(item);... // 如果没有处理中文的需求,可以不用decodeURIComponent,看后端用没用 ..
  • 后端给你的数据键名是这样的 var data1 = [ {count:335, goods:'小球'}, {count:135, goods:'小刚'}, {count:225, goods:'小里'}, ] 你想要的键名是这样的 var data2 = [ {name: "小球", value: 335}, {name:
  • 本篇文章主要介绍了Spring MVC 更灵活的控制 json 返回问题(自定义过滤字段),具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
  • 例如一个接口有10个字段,而前端只需要2个字段,都返回会浪费流量。解决方案:前端在header中传递需要包含或需要排除的字段后端返回数据前进行统一拦截,只返回需要的字段。具有有多种实现方式(这里只提供...
  • <span :class="{ isAdd:Number(vLast.type)===0,isRemove:Number(vLast.type)===3}">...vLast 是遍历的v-for遍历的数据,根据里面的type传出的字段显示,后端传过来的是0和3,然后就ok了 ...
  • 根据字段格式自动显示不同类型的表单数据、可以进行表单的动态显示、里面有静态数据的显示,也有根据后台返回字段,对相应的字段进行绑定、界面显示。动态生成不同显示方式的表单
  • 前端如何获取后端传递的JSON字段

    千次阅读 2019-05-23 09:56:26
    后端传来Json如下: data="{\"username\":\"jack\",\"password\":\"123\",\"userList\":[{\"id\":14,\"nikeName\":\"324234\"}]}" 现在要获取到这个Json字段的值 step1: 解析Json串 var v = JSON.parse(data)...
  • ![图片说明](https://img-ask.csdn.net/upload/201909/07/1567820490_609864.png) 现在想让后端返回的这个数据为空 或不显示 该怎么弄...
  • 我这例只需要用户的真实姓名和年龄就可以了,结果你们返回了我一大串,好几十个字段…… 前端B: 是呀!是呀!身份证信息是敏感的,这里也不需要用,你们竟然页返回了,还有密码都返回来!幸亏是加密的~ 后端小菜...
  • springboot 处理返回结果中字段为空或为null,不展示字段的问题(字段展示不全),给为空字段初始化值,如:字符串null转换为"
  • 假如我们想要得到如下结构的返回数据: options: [ {value: '11', label: '小明'}, {value: '22', label: '小红'}, {value: '33', label: '小嘿'}, {value: '44', label: '小绿'}, {value: '55', l...
  • 前言: 这是我的做法,基本上是搬运官方的办法照葫芦画瓢,我也不知道有没有更好的方法能拿到 tree组件的实例 element-tree 增加节点的方法 如果在模板中定于了 的数据源如下: 那么在当前Vue组件实例中定义并初始...
  • 今天小编就为大家分享一篇ajax判断后端返回的数据是否为null的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 我习惯用的方法: 当时的应用场景是用Select 选择器下拉菜单展示从后台获取的小区名,因为当时已经把下拉框封装好,需将后台返回的数据修改到符合要求后赋值给options即可: 当时options在这里 formData: { ...
  • 第一种: this.roleDatas = JSON....把this.roleDatas里的appName字段名换成roleName。 如果页面有两处地方用到appName,字段名改变会造成影响, 解决办法就是替换以后把整个数组给到别的数据中而不是自己本身,在da
  • 将文本中的"返还"和数字(一般... // data 是后端返回的列表数据, 在这进行处理 const result = []; const replaceText = []; const numberText = []; for (let i = 0; i <= 9; i += 1) { replaceText.push(`${i
  • 前端发送JSON数据请求,数据到后端以后发现有几个字段丢失,经过跟踪之后发现,当字段值为null,那么发送到后台的字段将丢失,这样解析JsonObject获取该字段就会报错
  • // res.Data 是后端返回的一组不符合校验逻辑的数据 res.Data.forEach((q,w) => { this.formRef.current.setFields([{name: q.name, errors: q.errorMsg}]) // name就是form.item的name,errors就是你要显示的不...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 86,917
精华内容 34,766
关键字:

后端只返回需要的字段