用JSON替换属性值

时间:2011-06-20 23:45:25

标签: javascript json

如果我的JSON结构看起来像这样:

var user = {
    map: {
        width: 785,
        height: 791
    },
    image: {
        name: "image.png",
        size: {width:32}
    },
    properties:[{
        firstName: "Bob",
        lastName: "Jones",
    }]
};

如何将firstName属性的值更改(创建后)为“Jane”?

我是JSON的新手,我只想弄清楚如何进行这一改变。任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:4)

只要user变量在范围内:

user.properties[0].firstName = "Jane";

答案 1 :(得分:4)

好吧,你混淆的一个原因可能是这根本不是JSON。 JSON是用于序列化对象的文本格式。这只是Javascript中的文字对象。

要更改firstName属性,您可以访问properties对象中user数组中的第一项:

user.properties[0].firstName = "Jane";

答案 2 :(得分:1)

var changeName = function(obj, newName) {
   obj.properties[0].firstName = newName;
   return obj;
}

答案 3 :(得分:0)

我看到了这个问题及其解决方案,但我的脚本仍无效。 我找到了解决方案,我想我应该在这里发布,这可能会为一些人节省一些研究。

我的JSON结果中有一些整数,它需要parseInt()函数。

以上面的例子为例,你可能需要这样做。

user.map.width = parseInt(somevariable);

由于javascript是松散的类型,我从来没有真正担心它,但在这种情况下它是必要的。