CNode

关于json数据的分割处理

Ssihao1234发布于12 年前最后回复12 年前6 回复15427 浏览0 收藏

在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)

J
jiyinyiyong#1·12 年前

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

Q
qiangzhi#2·12 年前

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

A
alsotang#3·12 年前

没有巧方法,用循环做。

S
sihao1234#4·12 年前

好的,收到! 谢谢!

T
think2011#5·12 年前

想到这样一个办法

       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);
T
tulayang#6·12 年前

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

参与回复
登录后即可参与回复。登录