日期:2014-05-16  浏览次数:20345 次

json出现不明字符的问题
各位大神,我讲数据封装到JSON里面,然后通过var jsAllmenu=JSON.stringify(allMenu);,我alert出来的数据多了很多这个:\t\n\n\n的符号呢

function subAllOrder(){

var allMenu={
menu:[]
};
var tb=document.getElementById("showOrder");


for(var i=1;i<tb.childNodes.length;i++){
var name=tb.childNodes[i].childNodes[0].innerHTML;
var price=tb.childNodes[i].childNodes[1].innerHTML;
var quantity=tb.childNodes[i].childNodes[2].innerHTML;
$.trim(name);
$.trim(price);
$.trim(quantity);
var aMenu={
   name:name,
  price:price,
 quantity:quantity
};

allMenu.menu.push(aMenu);

var jsAllmenu=JSON.stringify(allMenu);
alert("jsAllmenu:"+jsAllmenu);

这是alert的结果:
jsAllmenu{"menu":[{"name":"\n\t\t\t\t\t\t\t\t\t酒水\n\t\t\t\t\t\t\t\t","price":"\n\t\t\t\t\t\t\t\t\t15.00\n\t\t\t\t\t\t\t\t","quantity":"1"}]}

这是怎么回事呢,求解
JSON

------解决方案--------------------
这是根据你原来的内容转的
\n 换行
\t Tab 
你改成这样试试 
 

var aMenu={
    name:$.trim(name),
   price:$.trim(price),
 quantity:$.trim(quantity)
};

 
------解决方案--------------------
var name=tb.childNodes[i].childNodes[0].innerText;
var price=tb.childNodes[i].childNodes[1].innerText;
var quantity=tb.childNodes[i].childNodes[2].innerText;
------解决方案--------------------
innerHTML会把隐藏html字符显示出来,可以按照楼上的缓冲innerText试试