请问:用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 }
求解!~

解决方案 »

  1.   

    不多说了,上代码<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>
      

  2.   

    仅仅是做成字符串吗?如果要用的话,还是用JSON对象比较好用。
      

  3.   

    你这个完全可以先操作js的对象。所有的处理步骤完毕之后将该对象生成json即可。至于如何生成json你可以手动生成也可以用现有的工具。