vue获取后台json字符串方式
作者:逐梦十年
这篇文章主要介绍了vue获取后台json字符串方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
vue获取后台json字符串
1.在api文件下的driver.js文件下写一个获取json的函数
export const tree = () => request({ url: 'driver/tree', method: 'post', })
2.在view文件下的driver文件下的index.vue文件里引入driver.js文件下的tree函数
import Tree, { tree } from '@/api/driver'
3.在生命周期函数created钩子下在页面渲染初始过程获取json,获取通过箭头函数,同时注意json格式,如果后台传来的是字符串,要通过函数将其转换成对象类型。
created(){ tree().then((str) =>{ console.log(111111); // 触发生命周期函数 // console.log(str); //后台给的是字符串,转换成对象类型 let obj = JSON.parse(str); //把json字符串传递到data数据,进而到页面渲染 this.data = obj; // console.log(obj); console.log(obj[0].id); //查看第一层级下的id值 }
4.最后要注意在data数据中对json初始值进行格式设置,以及初始值赋值。
data() { return { data: //先给data对象为空 [ {},{},{} ], //树形控件需要配置的默认信息,与json匹配 defaultProps: { children: 'childs', label: 'name', } };
5.要控制台查看本层的对象,需要 用[]中括号指定层级
console.log(obj[0].id); //查看第一层级下的id值
vue字符串与Json转换
字符串与数组之间的相互转换
1.字符串转换为数组
str.split(','); // 以逗号,为拆分的字符串
2.数组转换为字符串
arr.join(','); // 把数组项拼接成字符串,以逗号,分隔
Json字符串转换为json对象
1.使用eval
result = eval('(' + jsonstr + ')'); // jsonstr是json字符串
2.使用JSON.parse()
result = JSON.parse(jsonstr); // jsonstr是json字符串
eval和JSON.parse的区别:
eval 是javascript支持的方式,不需要严格的json格式的数据也可以转化
JSON.parse 是浏览器支持的转换方式,必须要标准的json格式才可以转换
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。