我想创建一个像这样的JSON:
{
'2014-1-1':
{
'objA':
{
'attrA': 'A'
'attrB': 'B'
}
}
}
我试过了:
obj['2014-1-1'] = {'objA' : { 'attrA' : 'A'}};
obj['2014-1-1'] = {'objA' : { 'attrB' : 'B'}};
但我现在只在我的对象上看到B值,我猜'因为'objA'被覆盖了,我如何为objA添加'attrA'和'attrB'?
答案 0 :(得分:1)
属性存在后,只需访问它并设置一个值,不要覆盖:
obj['2014-1-1'] = {'objA' : { 'attrA' : 'A'}};
obj['2014-1-1']['objA']['attrB'] = 'B';
您可能只是想检查该属性是否存在,如果不存在,则创建它,然后分配:
if (!obj['2014-1-1'].hasOwnProperty('objA')) {
obj['2014-1-1']['objA'] = {}
}
obj['2014-1-1']['objA']['attrA'] = 'A';
obj['2014-1-1']['objA']['attrB'] = 'B';
答案 1 :(得分:0)
它无法正常工作,因为您正在覆盖该对象。你可以这样做:
obj['2014-1-1'] = {'objA' : { 'attrA' : 'A', 'attrB' : 'B'}};
attrA
和attrB
是objA
的两个不同属性,因此您可以这样设置它们。