使用值添加到现有JSON“Key”

时间:2014-11-26 16:10:53

标签: javascript php arrays json

因此,为了解释这一点,我正在创建一个JSON对象,并且使用这个对象,我希望能够像PHP数组一样修改它。这意味着我可以在任何给定时间将更多值添加到数组中。

例如,PHP就像这样:

$array = array();
$array['car'][] = 'blue';
$array['car'][] = 'green';
$array['car'][] = 'purple';

您可以看到PHP可以使用“car”键将更多数据添加到数组对象中。我想为JSON对象做同样的事情,除了它可能并不总是作为密钥的字符串。

function count(JSONObject) {
    return JSONObject.length;
}

test = {};
test[100] = {
  charge: "O",
  mannum: "5",
  canUse: "Y"
};

我知道你可以创建这样的新对象,但这不是我想要做的。

test[101] = {
  charge: "O",
  mannum: "5",
  canUse: "Y"
};

这是我能想到的,但我知道它不起作用:

test[100][count(test[100])] { // Just a process to explain what my brain was thinking.
  charge: "N",
  mannum: "7",
  canUse: "N"
}

我期待结果有点像这样(它也不一定非常像这样):

test[100][0] = {
  charge: "O",
  mannum: "5",
  canUse: "Y"
};
test[100][1] { 
  charge: "N",
  mannum: "7",
  canUse: "N"
}

我怎样才能解决这个问题,以便在对象中添加更多数据?我感谢大家的帮助,帮助我找到解决方案甚至是一些知识。

2 个答案:

答案 0 :(得分:2)

看起来这就是你想要的:

test = {};
test[100] = [{ // test[100] is an array with a single element (an object)
  charge: "O",
  mannum: "5",
  canUse: "Y"
}];

// add another object
test[100].push({
  charge: "N",
  mannum: "7",
  canUse: "N"
});

Learn more about arrays

答案 1 :(得分:0)

如果我理解得很好,您就会尝试将其转换为javascript:

<强> PHP

$array = array();
$array['car'][] = 'blue';
$array['car'][] = 'green';
$array['car'][] = 'purple';

<强> JAVASCRIPT

var array = {};
array['car'] = ['blue', 'green', 'purple'];

<强>说明

PHP关联数组 - &gt; JSON中的{}

PHP索引数组 - &gt; []在JSON中

<强> UPDATE1

  

我期待结果有点像这样(它也没有   必须看起来完全像这样):

test[100][0] = {
  charge: "O",
  mannum: "5",
  canUse: "Y"
};
test[100][1] { 
  charge: "N",
  mannum: "7",
  canUse: "N"
}

试试这个:

var test = {};
test[100] = [{"charge": "O", "mannum": "5", "canUse": "Y"}, {"charge": "N", "mannum": "7", "canUse": "N"}];