关于json数据的分割处理
发布于 11 年前 作者 sihao1234 14481 次浏览 最后一次编辑是 8 年前

在javascript中有以下json对象:

{ 'entityName': '名称',
  'entityId': 'XZMLCS',
  'propertyName': [ '属性名称1', '属性名称2' ],
  'propertyValue': [ 'XX属性1', 'XX属性2' ],
  'comment': [ '备注1', '备注2' ],
  creator: '管理员' }

如何循环处理为两个json对象:

  • json对象一:
      { 'entityName': '名称',
      'entityId': 'XZMLCS',
      'propertyName': '属性名称1' ,
      'propertyValue': 'XX属性1',
      'comment': '备注1',
      creator: '管理员' }
  • json对象二
      { 'entityName': '名称',
      'entityId': 'XZMLCS',
      'propertyName': '属性名称2' ,
      'propertyValue': 'XX属性2',
      'comment': '备注2',
      creator: '管理员' }

的呢?

类似如果需要分割成多个,如何循环呢?

6 回复

通过 JSON.parse(JSON.stringify(o)) 复制多份, 然后每一份通过数字 i, 通过判断 Array.isArray 识别列表然后覆盖属性.

循环原来的JSON对象属性,创建新的JSON对象

没有巧方法,用循环做。

好的,收到! 谢谢!

想到这样一个办法

       var obj = { 'entityName': '名称',
           'entityId': 'XZMLCS',
           'propertyName': [ '属性名称1', '属性名称2' ],
           'propertyValue': [ 'XX属性1', 'XX属性2' ],
           'comment': [ '备注1', '备注2' ],
           creator: '管理员' }

        var result = [];
        obj.propertyName.forEach(function (v, k) {
            var temp = Object.create(obj);
            temp.propertyName = v;
            temp.propertyValue = v;

            result.push(temp);
        });
        
        console.log(result);

你这本身就是数据结构设计错误,你用c语言这样处理下树结构试试

回到顶部