java脚本数据传输/在复杂对象之间分配

时间:2018-03-29 04:32:08

标签: javascript

我有两个对象customercustomerDisplay,结构如下。

我希望将customer对象的数据传输到customerDisplay。有没有内置功能来实现这个?

我尝试使用传统的for循环,但是为customerdisplay分配/添加对象总是导致无法添加元素的语法错误。请指教。

Customer
 |
 |Properties
 |Address
    |
    |Street
    |Postal Code
 |Transactions      

CustomerDisplay
 |
 |Properties
 |List(DataSet)
        |Dataset1
            |Name(Address)
            |Key
            |Value
        |Dataset2
            |Name(Transactions)
            |Key
            |ValueCustomer
 |
 |Properties
 |Address
    |
    |Street
    |Postal Code
 |Transactions      
CustomerDisplay
 |
 |Properties
 |List(DataSet)
        |Dataset1
            |Name(Address)
            |Key
            |Value
        |Dataset2
            |Name(Transactions)
            |Key
            |Value

以下是json格式

Customer: {
      property: [
        { label: 'xxxx', name: 'xxxxxx', value: ['xxxxx'] },
        { label: 'xxxxxxxx', name: 'xxxxx', value: ['xxxxxxxxxxx'] }
      ],
      Address: [
        {

          labels: [
            { key: 'name', value: 'Street Name' },
            { key: 'xxxxxxx', value: 'xxxx' }
          ],
          data: [{
            dataEntry: [
              { key: 'name', value: 'Credit Card / Line of Credit Statement' },
              { key: 'xxxx', value: 'xxxx' }
            ]}]
        }

      ]
    }



CustomerDisplay: {
      property: [
        { label: 'xxxx', name: 'xxxxxx', value: ['xxxxx'] },
        { label: 'xxxxxxxx', name: 'xxxxx', value: ['xxxxxxxxxxx'] }
      ],
      dataSet: [
        {
          dataSetName: 'Address',
          labels: [
            { key: 'name', value: 'Street Name' },
            { key: 'xxxxxxx', value: 'xxxx' }
          ],
          data: [{
            dataEntry: [
              { key: 'name', value: 'Credit Card / Line of Credit Statement' },
              { key: 'xxxx', value: 'xxxx' }
            ]}]
        }

      ]
    }

Customer: { property: [ { label: 'xxxx', name: 'xxxxxx', value: ['xxxxx'] }, { label: 'xxxxxxxx', name: 'xxxxx', value: ['xxxxxxxxxxx'] } ], Address: [ { labels: [ { key: 'name', value: 'Street Name' }, { key: 'xxxxxxx', value: 'xxxx' } ], data: [{ dataEntry: [ { key: 'name', value: 'Credit Card / Line of Credit Statement' }, { key: 'xxxx', value: 'xxxx' } ]}] } ] } CustomerDisplay: { property: [ { label: 'xxxx', name: 'xxxxxx', value: ['xxxxx'] }, { label: 'xxxxxxxx', name: 'xxxxx', value: ['xxxxxxxxxxx'] } ], dataSet: [ { dataSetName: 'Address', labels: [ { key: 'name', value: 'Street Name' }, { key: 'xxxxxxx', value: 'xxxx' } ], data: [{ dataEntry: [ { key: 'name', value: 'Credit Card / Line of Credit Statement' }, { key: 'xxxx', value: 'xxxx' } ]}] } ] }

1 个答案:

答案 0 :(得分:0)

您的结构看起来像是表示数据库中的表(展平表示)。而不是将数据从一个对象移动到另一个对象,我宁愿将数据“按原样”保存在其展平形式中,然后在我的Customer中使用函数返回相应CustomerDisplay对象的对象(类似Customer.getDisplay()或类似对象)。