2016-08-02 97 views
0

我想将数组添加为json值。将数组设置为Javascript中的json格式的值

Json格式如下。

json_data = [ 
'name':'Testing' 
'email':'TestEmail' 
'links':[ 
'[email protected]', 
'[email protected]', 
'[email protected]'] 
] 

如何在JavaScript中设置'链接'的值?

我做了如下。

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

json_data.links = links_array; 

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

任何帮助将不胜感激。

+1

这是一个语法错误。你确定它不是包含'links'数组的对象吗? – slebetman

+0

你可能打算写'json_data = {...} –

回答

4

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

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

json_data.links.push("[email protected]"); 
json_data.links.push("[email protected]"); 
json_data.links.push("[email protected]"); 
0

你必须做些微的改变才能使它工作。

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

var json_data = { 
'name':'Testing', 
'email':'TestEmail', 
'links':[ 
'[email protected]', 
'[email protected]', 
'[email protected]'] 
} 
0

除了push由@giovannilobitos提到你可以使用concat,做这一切在一个:

第二件事,你以后'name':'Testing''email':'TestEmail'

下面将很好地工作错过了逗号走。

var json_data = { 
 
    'name':'Testing', 
 
    'email':'TestEmail', 
 
    'links':[ 
 
    '[email protected]', 
 
    '[email protected]', 
 
    '[email protected]' 
 
    ] 
 
}; 
 
var links_array = ['testing','test2']; 
 

 

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

 
console.log(json_data.links);

在MDN的array reference你可以找到如何修改阵列在JavaScript的完整列表。