JS对象数据转JSON格式的问题

业务需求需要做联动选择框,用的是element UI的Cascader级联选择器,需要JSON格式的数据.
后台返回的数据格式是一个对象,,请问该怎么转换呢?
小类的name已经有了,需要把每一个对象的值作为大类的name,如accounts是第一个大类的name

{
    "accounts": [
      {
        "explains": "string",
        "groupId": 0,
        "id": 0,
        "integral": 0,
        "name": "string",
        "sort": 0,
        "status": 0,
        "threshold": 0
      }
    ],
    "others": [
      {
        "explains": "string",
        "groupId": 0,
        "id": 0,
        "integral": 0,
        "name": "string",
        "sort": 0,
        "status": 0,
        "threshold": 0
      }
    ],
    "transactions": [
      {
        "explains": "string",
        "groupId": 0,
        "id": 0,
        "integral": 0,
        "name": "string",
        "sort": 0,
        "status": 0,
        "threshold": 0
      }
    ]
  }

以下是element UI 联动器需要的Json格式


[
  {
        value: 'zhinan',
        label: '指南',
        children: [{
          value: 'shejiyuanze',
          label: '设计原则',
          children: [{
            value: 'yizhi',
            label: '一致'
          }, {
            value: 'fankui',
            label: '反馈'
          }, {
            value: 'xiaolv',
            label: '效率'
          }, {
            value: 'kekong',
            label: '可控'
          }]
        }]
  }
]

阅读 2k
2 个回答

不知道理解的对不对,可以把后端返回的对象作为参数传入,然后就处理成element所需要的形式了

 function changeStyle (obj) {
        const keys = Object.keys(obj);
        const result = [];
        for(let i = 0; i < keys.length; i++) {
            const item = {};
            const name = keys[i];
            item.name = name;
            item.label = 'xxx';
            item.children = obj[name];
            result.push(item);
        }
        return result;
    }

你是不是对JSON格式有什么误解

推荐问题