位置: IT常识 - 正文

vue3中前端处理不同数据结构的JSON(vue前端开发常见问题)

编辑:rootadmin
vue3中前端处理不同数据结构的JSON

        有时候,后端返回的JSON数据格式,是前端不需要的格式类型,这时,要么让后端修改,你要什么格式,那么让后端大哥哥给你返回什么格式。但是有时候不尽人意,后端大哥哥让你自己转换,此时就甩给前端了,只能在前端自己处理了。

目录

1.对后端数据的字段值/字段进行操作

2.处理多层级的数据结构

3.对JSON的字段进行排序 

4.实际案例


1.对后端数据的字段值/字段进行操作

推荐整理分享vue3中前端处理不同数据结构的JSON(vue前端开发常见问题),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue前端开发常见问题,vue3微前端,前端 vue,vue前端代码实例,vue3微前端,vue前端项目实战,vue3微前端,vue3微前端,内容如对您有帮助,希望把文章链接给更多的朋友!

后端的JSON格式:

//后端返回的数据格式var data = ref([{id: '00111322',name: 'zs01',age: 18},{id: '00035565644',name: 'ls02',age: 20}])

1.对字段的值进行更改

//返回的格式var data1 = data.value.map(res => {return {...res, //...使用es6语法,表示每一个对象,这里指的就是 {id: '00111322',name: 'zs01',age: 18}id: Number(res.id), //把字符串转换数字类型age: res.age + 1, //给每一个人加一岁name: res.name.substring(0, 2) //把name的值截取2位}})console.log(...data1) //...表示返回每一个元素

效果 

2.对字段进行操作

//返回的格式var data1 = data.value.map(res => {return {...res, //...使用es6语法,表示每一个对象,这里指的就是 {id: '00111322',name: 'zs01',age: 18}id: Number(res.id), //把字符串转换数字类型age: res.age + 1, //给每一个人加一岁name1: res.name.substring(0, 2), //把name的值截取2位,并且需要name1字段mark:res.id+res.name}})console.log(...data1) //...表示返回每一个元素

效果 

2.处理多层级的数据结构

后端的JSON格式:

//后端返回的数据格式var data = ref([{title: '一号楼',key: '100',children: [{title: '一单元',key: '110',children: [{title: '房间1',key: '111'},{title: '房间2',key: '112'}]}]}])

1.修改字段操作

//把title和key,分别改成id和name,一一对应起来,返回的格式 ,使用递归的方式function formatData(data1) {data1.forEach(res => {res.id = res.key;res.name = res.title;delete res.key;delete res.title;if (res.children) {formatData(res.children)}})}formatData(data.value) //调用console.log(...data.value) //...表示返回每一个元素console.log(JSON.stringify(data.value)) //返回字符串

效果

 

2.修改字段的值操作

//在最后一个字段title中,把前面的数据加上function formatData(data1, text) {data1.forEach(res => {if (!res.children) {res.title = text + res.title}if (res.children) {text += res.title;formatData(res.children, text)}})}formatData(data.value, '') //调用console.log(...data.value) //...表示返回每一个元素console.log(JSON.stringify(data.value)) //返回字符串vue3中前端处理不同数据结构的JSON(vue前端开发常见问题)

效果

 

3.对JSON的字段进行排序 

后端JSON数据格式:

//后端返回的数据格式var data = ref([{title: '一号楼',key: '100',children: [{title: '一单元',key: '110',children: [{title: '房间1',key: '111'},{title: '房间2',key: '112'}]}]}, {title: '二号楼',key: '200',children: [{title: '二单元',key: '210',children: [{title: '房间1',key: '211'},{title: '房间2',key: '212'}]}]}])

根据key的值排序

//根据根据key的值排序const compare = p => (m, n) => n[p] - m[p]; //简写排序,可以参考JavaScript中sort() 方法 //m[p] - n[p]升序 n[p] - m[p] 降序function formatData(data1, sortField) { //key:需要排序的字段data1.sort(compare(sortField));data1.forEach(res => {if (!res.children) {return;} else {formatData(res.children, sortField);}});}formatData(data.value, 'key') //调用,根据key的值排序console.log(...data.value) //...表示返回每一个元素console.log(JSON.stringify(data.value)) //返回字符串

效果,降序排列

 

4.实际案例

1.在使用uCharts时,经常需要进行数据转换

2.把res转成res1格式,因为res1是需要的

3.定义 res

let res = ref([{"name": "的方式是大多数","value": 6},{"name": "yqwuwiyvui","value": 3},{"name": "sdsfsdf","value": 2},{"name": "wewerw","value": 6}])

4.定义res1和res1s,因为res1s是res1中series的值

let res1 = ref({categories: [],series: []})let res1s = ref({name: "",data: []})

5.转换

res.value.forEach((va) => {res1.value.categories.push(va.name)res1s.value.data.push(va.value)})res1s.value.name = "目标值"res1.value.series.push(res1s.value)chartData.value = res1.value

6.效果

上面的方式可以实现,没有问题,应该还有别的方式也行。

本文链接地址:https://www.jiuchutong.com/zhishi/295977.html 转载请保留说明!

上一篇:React 路由v6 - 超全详解(react 路由参数)

下一篇:开关电源PCB排版基本规则(开关电源pcb布线规则)

  • 小天才手表关机了怎么查定位(小天才手表关机后怎么定位)

    小天才手表关机了怎么查定位(小天才手表关机后怎么定位)

  • 微信转账过期退还对方知道吗(微信转账过期退还通知记录怎么查)

    微信转账过期退还对方知道吗(微信转账过期退还通知记录怎么查)

  • 爱奇艺怎样关闭自动续费(爱奇艺怎样关闭弹幕)

    爱奇艺怎样关闭自动续费(爱奇艺怎样关闭弹幕)

  • 华为p40外壳是什么材质的(华为p40后壳是塑料的吗)

    华为p40外壳是什么材质的(华为p40后壳是塑料的吗)

  • 1gb等于多少g内存(1gb等于多少1mib)

    1gb等于多少g内存(1gb等于多少1mib)

  • 小米10充电特效怎么设置(小米10充电特效怎么换)

    小米10充电特效怎么设置(小米10充电特效怎么换)

  • 抖音怎么发表自己的视频(抖音怎么发表自己唱的歌)

    抖音怎么发表自己的视频(抖音怎么发表自己唱的歌)

  • 联想一键还原会清空所有盘么(联想一键还原会黑屏吗)

    联想一键还原会清空所有盘么(联想一键还原会黑屏吗)

  • 手机镜像是什么意思啊(苹果手机镜像怎么设置)

    手机镜像是什么意思啊(苹果手机镜像怎么设置)

  • word在中间加文字后面的就被覆盖了(word文档怎样在中间加一竖线)

    word在中间加文字后面的就被覆盖了(word文档怎样在中间加一竖线)

  • 怎么下载优酷视频到手机(怎么下载优酷视频?)

    怎么下载优酷视频到手机(怎么下载优酷视频?)

  • 公众号改名字需要多久(公众号改名字需要多久能变过来)

    公众号改名字需要多久(公众号改名字需要多久能变过来)

  • 笔记本电脑键盘锁定键是哪个(笔记本电脑键盘字母打出来是数字)

    笔记本电脑键盘锁定键是哪个(笔记本电脑键盘字母打出来是数字)

  • 微信仅聊天对方知道吗(微信仅聊天对方还能看到我的评论吗)

    微信仅聊天对方知道吗(微信仅聊天对方还能看到我的评论吗)

  • ipadmini4电池多少毫安(iPadmini4电池多少钱)

    ipadmini4电池多少毫安(iPadmini4电池多少钱)

  • 魅族16sPro能遥控空调吗(魅族16遥控器在哪)

    魅族16sPro能遥控空调吗(魅族16遥控器在哪)

  • 无线网怎么连接电视(无线网怎么连接电视机观看)

    无线网怎么连接电视(无线网怎么连接电视机观看)

  • 快手小剧场怎么进(快手小剧场怎么下载不了)

    快手小剧场怎么进(快手小剧场怎么下载不了)

  • airport2和1的区别(airport2和1的外观区别)

    airport2和1的区别(airport2和1的外观区别)

  • 苹果7p什么时候出的(苹果7P什么时候出产)

    苹果7p什么时候出的(苹果7P什么时候出产)

  • 无法激活面容id(无法激活面容id是不是证明手机有id锁)

    无法激活面容id(无法激活面容id是不是证明手机有id锁)

  • oppor15x充电要多久(oppor15x充电速度有多快)

    oppor15x充电要多久(oppor15x充电速度有多快)

  • 键盘字母上面0到9失灵(键盘字母上面的数字怎么按不出来)

    键盘字母上面0到9失灵(键盘字母上面的数字怎么按不出来)

  • win10去掉快捷方式小箭头方法(window10怎么取消快捷方式)

    win10去掉快捷方式小箭头方法(window10怎么取消快捷方式)

  • 【Echarts】在html中引入echarts详细步骤教程【源码】(echarts css)

    【Echarts】在html中引入echarts详细步骤教程【源码】(echarts css)

  • 进项税额比销项税额大怎么办
  • 公司名下的车怎么报废
  • 金税四期正式启动
  • 转账支票的签发
  • 季度30万免增值税什么时候结束
  • 小规模纳税人销售农产品税率是多少
  • 专门借款资本化时点
  • 折扣优惠 印花税也是折扣缴纳吗
  • 固定资产不能抵扣进项税额
  • 出口退税新旧申报
  • 公司交的物业费入什么科目
  • 提供有形动产租赁服务适用税率为13%
  • 全额抵减税控盘分录
  • 关联企业借款利息税前扣除
  • 资金型股东溢价进入
  • 员工借款报销流程
  • 个人出租住房缴纳个税可以扣除房产税吗
  • 对同一家企业的定义
  • 认缴制下股权转让如何不交税
  • 怎么查找企业核算报告
  • 企业间借款利息涉税处理
  • 只要有收入就要交印花税吗
  • 挂账的费用怎么填制单据凭证
  • 进口车关税怎么抵扣
  • 12月的发票可以1月付款吗
  • 免征房产税是多少
  • 转账支票到期了怎么兑现
  • 授课培训公司免责协议
  • 怎样让鼠标变得好看些
  • 如何在win7系统中找到ie浏览器
  • uniapp自定义组件模式
  • 多开发票可以作废吗?
  • 未使用的土地使用权可以摊销吗
  • 自然人股东是
  • 劳务外包会计分录最新
  • 未分配利润为负的原因
  • golang调用python代码
  • 住宅专项维修资金是什么
  • javascript百炼成仙免费
  • javaweb项目简介
  • 实际缴纳增值税和应缴纳增值税
  • 受托代销的分录
  • 无偿提供房屋使用证明有什么后果
  • 原始凭证太多怎么做账
  • 国际货运代理需要什么样的人才
  • 合伙制律师事务所和个人律师事务所
  • 会计记错账有什么后果
  • 餐饮赠送的菜品需要缴税吗
  • 税审报告需要什么资料
  • 出售资产时递延所得税转回是全部收入吗
  • 记账凭证的编制依据是审核无误的原始凭证
  • 货款扣除质量赔款
  • 留抵税额和待抵扣进项税额区别
  • 银行承兑汇票收款业务流程
  • 滴滴普票可以计算抵扣吗
  • 外贸公司出口退税实例
  • 增值税发票备注栏最新规定
  • 开了票收不到钱怎么做账
  • 领导出差差旅费怎么报销
  • 备查账包括哪些
  • sql删除查询结果
  • sql中的非逻辑
  • Navicat连接MySQL报错
  • rhel7.2安装
  • tesmon.sys导致的蓝屏
  • xp系统如何禁止软件联网
  • linux中使用grep命令显示包含特殊字符的行
  • qtzgacer.exe - qtzgacer进程是什么文件 .作用是什么
  • Win10 Mobile 10586.122 ROM安装包有多大?
  • javascript运用
  • webpack vue-loader
  • 安卓智能设备指什么
  • python内置函数format
  • jquery数组的方法
  • python爬取教程
  • jquery table
  • JQuery EasyUI Layout 在from布局自适应窗口大小的实现方法
  • 盐城市地税局稽查大队长
  • 汽车购置税退税需要多长时间
  • 2022年安徽城镇非私营单位平均工资
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设