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

请问:用JS创建json数据,并且可以动态往json数据里面添加新值,也可以修改值。假设json数据字符串格式如下所示:varstr1='{"name":"apple",... 请问:用JS创建json数据,并且可以动态往json数据里面添加新值,也可以修改值。
假设json数据字符串格式如下所示:
var str1 = '{ "name": "apple", "sex": "21" }';

要求:1、JS可以动态创建json数据,比如传入 name 和apple ,自动返回json格式字符串。
2、假设传入name已经存在,则替换name的值,然后返回json数据字符串
3、可以移除键,比如数据name ,就可以把name的键值从json中移除

要求写一个js函数,传入两个参数
比如
function createJson(str1,str2)
{
return json
}

求解!~
展开
 我来答
马后雷鼓下扬州5058
2013-03-30 · TA获得超过4321个赞
知道小有建树答主
回答量:693
采纳率:33%
帮助的人:806万
展开全部

函数不需要 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。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式