在Javascript中将数组设置为json格式的值

时间:2016-08-02 04:29:36

标签: javascript json

我想将数组添加为json值。

Json格式如下。

json_data = [
'name':'Testing'
'email':'TestEmail'
'links':[
'test@test.com',
'test@test1.com',
'test@test3.com']
]

如何设置'链接的价值?在这样的javascript中?

我做了如下。

links_array = [];
links_array =['testing','test2'];

json_data.links = links_array;

我想追加这两个字符串,但不能。

任何帮助都会受到赞赏。

3 个答案:

答案 0 :(得分:5)

假设您的示例的语法正确,您可以对数组使用“push”方法。

json_data = {
 'name':'Testing',
 'email':'TestEmail',
 'links':[]
};

json_data.links.push("test1@test.com");
json_data.links.push("test2@test.com");
json_data.links.push("test3@test.com");

答案 1 :(得分:0)

你必须做一些改变才能使它发挥作用。

首先,你必须用卷曲的方括号替换初始的方括号。通过这样做,您的对象将成为JSON Literal - 一个键值对。

第二件事,您在'name':'Testing''email':'TestEmail'

之后错过了逗号

下面将完美运作:

var json_data = {
'name':'Testing',
'email':'TestEmail',
'links':[
'test@test.com',
'test@test1.com',
'test@test3.com']
}

答案 2 :(得分:0)

除了@giovannilobitos提到的push之外,您还可以使用concat并一次性完成所有操作。



var json_data = {
  'name':'Testing',
  'email':'TestEmail',
  'links':[
   'test@test.com',
   'test@test1.com',
   'test@test3.com'
  ]
};
var links_array = ['testing','test2'];


json_data.links = json_data.links.concat(links_array);

console.log(json_data.links);




在MDN' array reference上,您可以找到有关如何在JavaScript中修改数组的更完整列表。