2016-06-09 163 views
-1

我想向JSON添加一個字段。我確實有一個工作解決方案,但它很醜(使用eval)。有沒有更好的方法來添加一個字段?將字段添加到JSON

var json = {}; 
var id = "test"; 
eval("json." + id + " = 5;"); 
console.log(json.test); 

更新:對不起,我的問題有點不清楚。 我想使用變量id,它具有新字段的值。

乾杯, 伯恩哈德

+0

'JSON [ID] = 5'。而且,這是一個JavaScript對象,而不是JSON,不要讓它們混淆! http://stackoverflow.com/questions/2904131/what-is-the-difference-between-json-and-object-literal-notation –

+1

這不是JSON,這是一個javascript對象。您似乎想要添加具有特定值的屬性。沒有冒犯,但在網上搜索應該很容易產生有用的結果。我們是否缺少一些信息? – Jeroen

+1

請看看這裏:http://stackoverflow.com/questions/4968406/javascript-property-access-dot-notation-vs-brackets –

回答

3

您可以使用如下代替:

使用這樣的:

json[id] = 5; 

因此,你的情況:

var json = {}; 
var id = "test"; 
json[id] = 5; 
console.log(json.test); //will print 5 
// OR 
console.log(json['test']); //will print 5 
1

您可以添加這樣的:

var json = {}; 
json.test = 5; 
console.log(json.test); 

var json = {}; 
json["test"] = 5; 
console.log(json.test); 

希望它能幫助:)

0

您可以使用

var json = {}; 
var id = "test"; 
eval("json." + id + " = 5;"); 
console.log(json.test); 

var json2 = {}; 
json2.test = 5; 
console.log(json2.test); 

或該

var json3 = {}; 
json3["test"] = 5; 
console.log(json3.test); 

第一個例子是不希望的。

+1

第一個例子應該不存在。 – AD7six

+0

是的。第一個是不可取的。 –