【转】用JS创建json数据,并且可以动态往json数据里面添加新值,也可以修改值。

原文地址:http://blog.csdn.net/panlingfan/article/details/45562893/

函数不需要 return,因为 json 对象会被函数直接修改。

var str1 = {"name": "apple", "sex": "21"};
                 
// 参数:prop = 属性,val = 值
function createJson(prop, val) {
    // 如果 val 被忽略
    if(typeof val === "undefined") {
        // 删除属性
        delete str1[prop];
    }
    else {
        // 添加 或 修改
        str1[prop] = val;
    }
}

下面为测试

// 无改动,输出 Object {name="apple", sex="21"}
console.log(str1);
                                          
// 添加属性 color,值为 red
createJson("color", "red");
                                          
// 输出 Object {name="apple", sex="21", color="red"}
console.log(str1);
                                          
// 修改属性 name 的值为 banana
createJson("name", "banana");
                                          
// 输出 Object {name="banana", sex="21", color="red"}
console.log(str1);
                                          
// 删除属性 sex
createJson("sex");
                                          
// 输出 Object {name="banana", color="red"}
console.log(str1);

函数应该有三个参数的,第一个为 json 对象,但只写了两个,所以函数只能用于修改 str1

原文地址:https://www.cnblogs.com/fashflying/p/6640753.html