例如 移除以下字符串,该如何写正则"level":1,
"tId":"menutree_2",
"parentTId":"menutree_1",
"open":false,
"isParent":false,
"zAsync":true,
"isFirstNode":true,
"isLastNode":false,
"isAjaxing":false,
"checked":true,
"checkedOld":false,
"nocheck":false,
"chkDisabled":false,
"halfCheck":false,
"check_Child_State":-1,
"check_Focus":false

解决方案 »

  1.   

    源字符串是 一大堆包含这些字符的字符串,现在是要把这些属性的字符串剔除掉 比如 剔除掉键为"level" 的 键和值 和后面的逗号。
      

  2.   

    var _json={"level":1,
    "tId":"menutree_2",
    "parentTId":"menutree_1",
    "open":false,
    "isParent":false,
    "zAsync":true,
    "isFirstNode":true,
    "isLastNode":false,
    "isAjaxing":false,
    "checked":true,
    "checkedOld":false,
    "nocheck":false,
    "chkDisabled":false,
    "halfCheck":false,
    "check_Child_State":-1,
    "check_Focus":false
    };
    //如果需要判断值,则使用以下的
    if(_json.level==1){delete _json.level};
    //如果删除一个指定元素,不需要判断值,则使用以下的
    delete _json.check_Focus;
    for(i in _json)
    {
        alert(i+":"+_json[i])
    }
      

  3.   

    我是想 删除带有那些键的值字符串,比如有找到 "tId"这个键那就删除 "tId":"menutree_2",  右边的值不是固定的值不需要做判断。
      

  4.   

    //如果删除一个指定元素,不需要判断值,则使用以下的
    delete _json.check_Focus;我都写得明明白白了,你好歹看得仔细点
    delete _json.tId
      

  5.   


    我这样子写但是没有作用function deleteNode(nodes){
         delete nodes.level;
         delete nodes.tId;
         delete nodes.parentTId;
         delete nodes.open;
         delete nodes.isParent;
         delete nodes.zAsync;
         delete nodes.isFirstNode;
         delete nodes.isLastNode;
         delete nodes.isAjaxing;
         delete nodes.checked;
         delete nodes.checkedOld; 
         delete nodes.nocheck;
         delete nodes.chkDisabled;
         delete nodes.halfCheck;
         delete nodes.check_Child_State;
         delete nodes.check_Focus;
         return nodes;
      }
      

  6.   


    再说明下 源json 对象是 有很多层级结构的 比如一个节点地下还有多个 children的节点,每个节点都有上面的属性。
      

  7.   

    var _json={"level":1,
    "tId":"menutree_2",
    "parentTId":"menutree_1",
    "open":false,
    "isParent":false,
    "zAsync":true,
    "isFirstNode":true,
    "isLastNode":false,
    "isAjaxing":false,
    "checked":true,
    "checkedOld":false,
    "nocheck":false,
    "chkDisabled":false,
    "halfCheck":false,
    "check_Child_State":-1,
    "check_Focus":false
    };
    function deleteNode(nodes){
          delete nodes.level;
          delete nodes.tId;
          delete nodes.parentTId;
          delete nodes.open;
          delete nodes.isParent;
          delete nodes.zAsync;
          delete nodes.isFirstNode;
          delete nodes.isLastNode;
          delete nodes.isAjaxing;
          delete nodes.checked;
          delete nodes.checkedOld;  
          delete nodes.nocheck;
          delete nodes.chkDisabled;
          delete nodes.halfCheck;
          delete nodes.check_Child_State;
          delete nodes.check_Focus;
          return nodes;
      }
    deleteNode(_json);////每去掉其中一个元素的delete,下面的alert即可显示这个元素的键/值;如果全部去除,则下面代码失效for(i in _json)
    {
        alert(i+":"+_json[i])
    }哪里会没有用,是你自己不知道正确的用法而已。自己去试吧