本人刚入行不久,酝酿了一段时间在跟着做项目,遇到了第一个自己解决不了的问题,希望各位大大们帮忙解决一下。问题:本人通过window.open方法打开一个页面来传给opener页面一个json数据,在opener中的js方法里面接收之后,要把数据添加到原先有的json数据中,结果添加完之后json数据中有不明转义附!!
function ecPerAddInput(jsonAddStr){//给工作流表单的隐藏框添加值
var jsonStr=$("DATA_99").value;
alert(jsonStr);
if(jsonStr == ""||jsonStr == null){
$("DATA_99").value=jsonAddStr;
}else{    //var json = eval('(' + jsonStr + ')');//由JSON字符串转换为JSON对象
var json =JSON.parse(jsonStr); 
    alert(json);
    //var jsonAdd = eval('(' + jsonAddStr + ')');
    var jsonAdd =JSON.parse(jsonAddStr); 
//alert(jsonAdd[0]);
    json.push(jsonAdd[0]);
    alert(json);
var jsonLast=JSON.stringify(json); //将JSON对象转化为JSON字符 alert(jsonLast);
$("DATA_99").value=jsonLast;
}
ecPerShowList();
}jsjson转义附

解决方案 »

  1.   

    不知道你的json 数据是工具生成的还是自己拼出来的。 如果数据有特殊符号可以先替换掉然后再替换回来。 
      

  2.   

    我的json暂时是测试数据,
    var jsonAdd='[{"name1":"name1","name2":"name2","name3":"name3","name4":"name4","name5":"name5","name6":"name6"}]'
      

  3.   

    我的json暂时是测试数据,
    var jsonAdd='[{"name1":"name1","name2":"name2","name3":"name3","name4":"name4","name5":"name5","name6":"name6"}]'然后呢?怎么了,问题说清楚点
      

  4.   

    你这个测试数据也没问题啊 。var jsonAdd='[{"name1":"name1","name2":"name2","name3":"name3","name4":"name4","name5":"name5","name6":"name6"}]'
    var s =eval("("+jsonAdd+")");
    for(var i in s[0]){
    alert("key:--"+i+"---value--"+s[0][i]);
    }
      

  5.   

    我的json暂时是测试数据,
    var jsonAdd='[{"name1":"name1","name2":"name2","name3":"name3","name4":"name4","name5":"name5","name6":"name6"}]'然后呢?怎么了,问题说清楚点
      

  6.   

    json对象再用json.push()之后,数据中多了 “/”
      

  7.   

    我解析的时候出不来。。那我问一下,有什么方法能把 这个json对象中的转义附去掉
      

  8.   

    我解析的时候出不来。。那我问一下,有什么方法能把 这个json对象中的转义附去掉
    var test_name = "[{\"name1\":\"name1\"}]"; 
    test_name.replace("\\","");
    alert(test_name);