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初始值进行格式设置,以及初始值赋值。

vue获取后台json字符串方式_第1张图片

 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格式才可以转换

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

你可能感兴趣的:(vue获取后台json字符串方式)