欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

javascript json 添加 修改 删除 的操作

shiping1 的头像
Java代码  收藏代码
  1. <html>  
  2. <script>  
  3. //下面的操作中可能需要这三个函数我先放到这  
  4. //转换为json  
  5. function $parseJson(str){  
  6.    try{  
  7.    eval('var obj='+str);  
  8.    return obj;  
  9. }catch(e){  
  10.    return null;  
  11. }  
  12. }  
  13. //数组转换为字符串  
  14. function $ArrayToString(arr)  
  15. {  
  16.     var separator = ",";//separator为分隔符  
  17. for(var i=0;i<arr.length;i++){  
  18.     arr[i]=$toJsonString(arr[i]);  
  19.    }  
  20.     return arr.join(separator);   
  21. }  
  22. //json转换为字符串  
  23. function $toJsonString(obj){  
  24. var isArray = obj instanceof Array;  
  25. var r = [];  
  26. for(var i in obj){  
  27.    var value = obj[i];  
  28.    if(typeof value == 'string'){  
  29.     value = '"' + value + '"';  
  30.    }else if(value != null && typeof value == 'object'){  
  31.     value = $toJsonString(value);  
  32.    }  
  33.    r.push((isArray?'':i+':')+value);  
  34. }  
  35. if(isArray){  
  36.    return '['+r.join(',')+']';  
  37. }else{  
  38.    return '{'+r.join(',')+'}';  
  39. }  
  40. }  
  41.   
  42. ////////////////////添加  
  43.   
  44.   
  45. ////////////////////添加属性  
  46.   
  47. //这是添加json元素的属性只适合这种格式的json var json={索引号:"蒋佳良",索引号:"蒋佳良"}可能会有用处因为我没看找到好得方法来添加属性,就是想了个笨方法,希望有人给予指点,其实就是把json转换为字符串来拼接。  
  48.   
  49. var addjson1={"901":{}};  
  50.   
  51. function addjson(jsonname,element,attribute){  
  52. var jsonString=$toJsonString(jsonname);  
  53. var jsonString = jsonString.substring(0,jsonString.length-1);  
  54. var jsonArr=","+element+":"+attribute+"}";  
  55. var jsonString=jsonString.concat(jsonArr);  
  56. alert(jsonString);  
  57. jsonname=$parseJson(jsonString);  
  58. alert(jsonname[element]);  
  59. }  
  60.   
  61.   
  62. //调用方法:大概有三种请注意  
  63. addjson(addjson1,902,"'蒋佳良'");//一定要注意这个单引号哟!  
  64. addjson(addjson1,903,"{name:'蒋佳良'}");//一定要注意这个单引号哟!  
  65. addjson(addjson1,904,"[{name:'蒋佳良'},{name:'蒋佳良'}]");//一定要注意这个单引号哟!  
  66.   
  67. ////////////////////添加属性end  
  68.   
  69.   
  70. ////////////////////////添加节点  
  71. var addjson2=[{name:"蒋佳良"},{name:"蒋佳良"}];  
  72. ///添加到指定节点  
  73. //splice(index,howmany,element1,.....,elementX)  
  74. //index 必需。规定从何处添加/删除元素。该参数是开始插入和(或)删除的数组元素的下标,必须是数字。  
  75. //howmany 必需。规定应该删除多少元素。必须是数字,但可以是 "0"。如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。  
  76. //element1 可选。规定要添加到数组的新元素。从 index 所指的下标处开始插入。   
  77. //elementX 可选。可向数组添加若干元素。   
  78. addjson2.splice(2,0,{name:"你把我推进去,并排在第3个"});//这是重点  
  79. alert(addjson2[2].name);  
  80.   
  81. //添加到最后  
  82. addjson2.push({name:"你把我推进去,但是排在最后面的"});//这是重点  
  83. alert(addjson2[addjson2.length-1].name);  
  84. ////////////////////////添加节点end  
  85.   
  86. ////////////////////添加end  
  87.   
  88.   
  89. //修改  
  90. //修改基本上我觉得没有什么特殊操作  
  91. var uptatejson=[{name:"蒋佳良"},{name:"蒋佳良"}];  
  92. uptatejson[0].name="你把我修改了";  
  93. alert(uptatejson[0].name);  
  94. ////修改end  
  95.   
  96. //这是json删除指定的元素  
  97. var json1={name:"蒋佳良"};  
  98. alert(json1.name);  
  99. delete json1.name;//删除指定的标识的  
  100. alert(json1.name);  
  101. //根据上面的类推的话  
  102. var json2=[{name:"蒋佳良"},{name:"蒋佳良"}];  
  103. alert(json2[1].name);  
  104. delete json2[1].name;//删除指定的标识的  
  105. alert(json2[1].name);  
  106. </script>  
  107. </html>  
普通分类: