繁体   English   中英

我可以更改 javascript 数组项中的属性(JSON.stringify)吗?

[英]Can I change a property (JSON.stringify) in a item of javascript array?

我想更改 js 数组中项目的属性。

var settings = {
        "url": "yeahyeah",
        "method": "POST",
        "headers": {
            "Content-Type": "application/json",
        },
        "data":  JSON.stringify({
            des: foo,
            order:"ohYeah"
        })
    }

我试过这个:

if(something){
        settings.data.order = "ohNo";
}

将 js 数组 () 中的项settings.data的属性顺序从“ohYeah”更改为“ohNo”。

这应该有效(使用三元运算符

var settings = {
        "url": "yeahyeah",
        "method": "POST",
        "headers": {
            "Content-Type": "application/json",
        },
        "data":  JSON.stringify({
            des: foo,
            order: something ? "ohNo" : "ohYeah"
        })
    }

你可以试试这个

var settingData = JSON.parse(settings.data);
if (something)
{
 settingData.order = 'ohno';
 settings.data = JSON.stringify(settingData);
}

有关于从 W3 解析 JSON 的非常好的文档。 https://www.w3schools.com/js/js_json_parse.asp

 var settings = {
        "url": "yeahyeah",
        "method": "POST",
        "headers": {
            "Content-Type": "application/json",
        },
        "data": [{
            des: foo,
            order:"ohYeah"
        },...] // I believe this is array
    }
    // Parse it if you want object
    var obj = JSON.parse(settings.data);
    // Then you can access 
    if(true){
      obj[0].order = "ohNo";
    }
    // convert back to string if you wan.
    settings = JSON.stringify(obj);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM