位置: 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布线规则)

  • 铜川缴纳房屋契税怎么算
  • 综合收益总额与什么有关
  • 预缴所得税报表填错啦,年报可以修改吗
  • 捐赠劳务支出可在企业所得税前扣除吗
  • 金税四期上线后还需要会计吗
  • 购买研发设备的会计分录
  • 汇算清缴现金流量表怎么填
  • 差额拨款的事业单位属于预算单位吗
  • 固定资产明细表范本
  • 交通费补贴报销的会计分录怎么做?
  • 商业企业库存商品和销售对不上
  • 公司广告法违规交不起罚款怎么办
  • 企业的车辆购置税计入哪个科目
  • 异地预缴企业所得税几个点
  • 预警税负率表
  • 个人劳务费怎么开票
  • 应向客户收取的出租包装物租金
  • 纳税申报需要去税务局吗
  • 航天信息服务费280元会计处理
  • 1697509246
  • 其他货币资金明细科目有哪些
  • 改造工程完工会计分录
  • outlook永久保留邮件
  • 应交税费和应交税金的区别属于什么科目
  • 销售利润率的计算公式Excel
  • 房地产开发商负责什么
  • 代缴个税的分录
  • Win11 Build22000.346 Beta/Release预览版发布 KB5007262更新汇总
  • 简述php中常用魔术方法及其各自的作用
  • 企业合并发生的交易费用
  • 存货跌价准备的转销会计分录
  • 腾讯一面问什么
  • 什么是微前端
  • iperf3命令和iperf2
  • 苹果2021年在中国不能用了吗
  • 融资租赁的利息进项税可以抵扣吗
  • 出口生产型企业
  • sql server数字类型
  • 独立核算的分公司可以汇总纳税吗
  • 我有朋友吗朋友圈说说
  • 两处取得工资薪金如何申报
  • 税控服务费减免月底怎样结转
  • 小微企业是怎样自己认定的呢
  • 事业单位长期股权投资成本法和权益法
  • 职工辞退福利是否要申报个税
  • 公司开出发票但未收到款如何写分录?
  • 长期借款短期利息怎么算
  • 转卖增值税犯罪吗
  • 期间损益科目如何结转
  • 打车费会计分录怎么写
  • 外购的货物发生下列用途时,不能抵扣进项税额的是
  • 记账凭证分为哪几类,应具备哪些主要内容
  • 商业零售企业商品进销差价
  • Sql Server 2000 行转列的实现(横排)
  • mysql支持的数据类型主要有哪几类
  • win10禁用系统uac
  • mac电脑快速查询
  • win10预览版选哪个
  • mac清理所有数据
  • 电脑重装系统步奏
  • windows7怎
  • mmc.exe是什么
  • win8系统如何关机
  • os x10.10.3beta5官网下载 yosemite10.10.3beta5下载地址
  • centos安装rclone
  • centos安装软件教程
  • win10系统谷歌浏览器为什么打不开
  • w8网络设置
  • win10如何将我的电脑添加到桌面
  • 分析师:董明珠让格力为豪赌买单
  • 一个简单的灵魂福楼拜
  • shell脚本for循环 计算1到100的和
  • js实现日历可获得的信息
  • Android性能优化工具
  • pycharm编程入门
  • python的idle打不开解决办法
  • 道路运输业属于工贸行业吗
  • 支付境外服务费需要缴纳哪些税费
  • 工程开具增值税专用发票
  • ca证书怎么删除
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设