将JSON键,值对附加到javascript对象

时间:2014-08-18 23:47:25

标签: javascript json object

如果我有一些JSON:

{
  "foo":"1",
  "bar":"2"
}

是否可以将其动态附加到javascript对象?例如,我可以有一个函数:

myObject.eatJSON(data)

这将允许我做类似的事情:

myObject.foo // "1"
myObject.bar // "2"

修改

JSON现在是JSON。我愚蠢地把“data =”放在它面前。相信我是外部JSON。

3 个答案:

答案 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"
相关问题