替换JSON中的属性值

Replacing a property value in JSON

本文关键字:属性 JSON 替换      更新时间:2023-09-26

如果我有一个JSON结构,看起来像这样:

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

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

我对JSON还很陌生,现在我只是想弄清楚如何进行这一更改。如有任何帮助,我们将不胜感激。

好吧,您感到困惑的一个原因可能是这根本不是JSON。JSON是一种用于序列化对象的文本格式。这只是Javascript中的一个文本对象。

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

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

只要user变量在范围内:

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

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

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

举上面的例子,你可能不得不做这样的事情。

user.map.width = parseInt(somevariable);

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