如果我有一些JSON:
{
"foo":"1",
"bar":"2"
}
是否可以将其动态附加到javascript对象?例如,我可以有一个函数:
myObject.eatJSON(data)
这将允许我做类似的事情:
myObject.foo // "1"
myObject.bar // "2"
修改
JSON现在是JSON。我愚蠢地把“data =”放在它面前。相信我是外部JSON。
答案 0 :(得分:1)
大多数库都内置了一些功能。例如,在underscore.js中我会使用extend:
_.extend(myObject, data);
顺便说一下,data
不是JSON;它是一个Javascript对象。如果整个事情都是字符串,那么它只是JSON,例如:
data = "{\"foo\":\"1\", \"bar\":\"2\"}"
答案 1 :(得分:0)
试试这个:
var dataObj = JSON.parse(data)
for (var key in dataObj)
myObject[key] = dataObj[key]
答案 2 :(得分:0)
您可以通过执行以下操作将JSON文件中的属性附加到对象:
class Foo
constructor: ->
data = JSON.parse './path/to.json'
for key, value of data
this[key] = value
(使用咖啡脚本)。现在,如果我的JSON看起来像这样:
{
"foo":"1"
"bar":"2"
}
'Foo'对象将执行此操作:
obj = new Foo
obj.foo // "1"
obj.bar // "2"