求JS动态动态创建JSON数据字符串,并且可以删除添加修改!

伦巴舞 2013-03-29 12:26:27
请问:用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

}


求解!~
...全文
4389 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jeff_jiang 2013-04-01
  • 打赏
  • 举报
回复
你这个完全可以先操作js的对象。所有的处理步骤完毕之后将该对象生成json即可。至于如何生成json你可以手动生成也可以用现有的工具。
MakeUrChois 2013-03-29
  • 打赏
  • 举报
回复
仅仅是做成字符串吗? 如果要用的话,还是用JSON对象比较好用。
lufy 2013-03-29
  • 打赏
  • 举报
回复
不多说了,上代码

<script type="text/javascript">
//添加或者修改json数据
function setJson(jsonStr,name,value)
{
	if(!jsonStr)jsonStr="{}";
	var jsonObj = JSON.parse(jsonStr);
	jsonObj[name] = value;
    	return JSON.stringify(jsonObj) 
}
//删除数据
function deleteJson(jsonStr,name)
{
	if(!jsonStr)return null;
	var jsonObj = JSON.parse(jsonStr);
	delete jsonObj[name];
    	return JSON.stringify(jsonObj) 
}

//生成测试
var myjsonStr = setJson(null,"name","aaa");
alert(myjsonStr);
//添加测试
myjsonStr = setJson(myjsonStr,"age",18);
alert(myjsonStr);
//修改测试
myjsonStr = setJson(myjsonStr,"age",20);
alert(myjsonStr);
//删除测试
myjsonStr = deleteJson(myjsonStr,"age");
alert(myjsonStr);
</script>

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧