JSON是一种轻量级的数据交换格式,对key的命名要求不是特别严格,所以基本上都可以方便的解析
使用json时,key一般应使用合法的变量名(字母或下划线开头的包括字母、下划线和数字的字符串)
如果非合法的话,需要进一步转换:如下
var json = '{"500":"a", "500G":"b", "I3":2}';
alert(data.0); //报错,此方式不可用
alert(data['500G']); //正确
//特别是商品规格,如下:
var $guige = $("#guige");
var $ShopRemodal = $("<div class='shop-remodal-img'></div>");
var $RemodalImg = $("<div class='remodal-img'><img src='" + thisInfo.path_name + "'/></div>");
var $div = $("<div style='width:115px;height:80px;float:left;'></div>");
var $aspan = $("<span class='remodal-span'>"+ '¥' + thisInfo.price + " </span>");
var $Rbtn = $("<button data-remodal-action='close' class='remodal-close' aria-label='Close'></butoon>");
if('01' == thisInfo.sale_statu) {
var $Rp = $("<p class='remodal-p'>"+'库存'+ thisInfo.stock + '件' +"</p>");
} else {
var $Rp = $("<p class='remodal-p'>"+'库存'+ thisInfo.advance_stock + '件' +"</p>");
}
var $SRp =$("<p class='remodal-p' style='margin-top:-10px;'>"+ thisInfo.argument +"</p>");
$ShopRemodal.append($RemodalImg);
$ShopRemodal.append($div);
$ShopRemodal.append($aspan);
$ShopRemodal.append($Rbtn);
$ShopRemodal.append($Rp);
$ShopRemodal.append($SRp);
$guige.append($ShopRemodal);
//规格一
var $ShopTitle = $("<div class='shop-remodal-title'></div>");
var $TitleP = $("<p class='title-p'>"+ thisInfo.argument +"</p>");
var $TitleUl = $("<ul></ul>");
$.each(thisMap, function(index) {
console.log(index)
var $TitleLi = $("<li class='title-li'>"+ index +"</li>");
$TitleUl.append($TitleLi);
});
$ShopTitle.append($TitleP);
$ShopTitle.append($TitleUl);
$guige.append($ShopTitle);
//json前台数据转换
[js][json]前台页面中json和字符串相互转化(转)
比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象:
var a={"name":"tom","sex":"男","age":"24"}
在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法。
JSON.stringify(obj)将JSON转为字符串。
JSON.parse(string)将字符串转为JSON格式;
上面的转换可以这么写:
var a={"name":"tom","sex":"男","age":"24"};
var aToStr=JSON.stringify(a);
var bToObj=JSON.parse(b);
alert(typeof(aToStr)); //string
JSON.stringify()
ie8(兼容模式),ie7和ie6没有JSON对象,不过http://www.json.org/提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;你可以在https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js。
ie8(兼容模式),ie7和ie6可以使用eval()将字符串转为JSON对象,
var c='{"name":"Mike","sex":"女","age":"29"}';
var cToObj=eval("("+c+")");
alert(typeof(cToObj));
jQuery中也有将字符串转为JSON格式的方法jQuery.parseJSON( json ),接受一个标准格式的 JSON 字符串,并返回解析后的 JavaScript (JSON)对象。当然如果有兴趣可以自己封装一个jQuery扩展,jQuery.stringifyJSON(obj)将JSON转为字符串。