JSON学习

JSON(javaScript Object Notation)是存储和交换文本信息的语法。类似 XML。但JSON 比 XML 更小、更快,更易解析。

从最简单格式的JSON:
<span style="font-size:18px;">data1={
    "id":"10001",

     "name":"test"
}</span>

到复杂的多层次的JSON:
<span style="font-size:18px;">data2=[
	{
		"id":"128",
		"pId":"1",
		"name":"在建招拍挂地块",
		"url":"http://mapapi.xmtfj.gov.cn/RemoteRest/services/ZJZPGDK/MapServer/0",
		"mapQueryUrl":"",
		"autoCmpData":"",
		"mapType":"2",
		"mapLegend":"",
		"tokenKey":"",
		"totalCount":"0",
		"idField":"",
		"nameField":"",
		"fieldConfig":[{"id":"1","fieldEnName":"ZPGTD_P.OBJECTID","fieldCnName":"OBJECTID","isEditable":"true","isShow":"true"},{"id":"2","fieldEnName":" ZPGTD.DKBH","fieldCnName":"地块编号","isEditable":"true","isShow":"true"},{"id":"3","fieldEnName":"ZPGTD.QY","fieldCnName":"区域","isEditable":"true","isShow":"true"},{"id":"4","fieldEnName":"ZPGTD.LB","fieldCnName":"类别","isEditable":"true","isShow":"true"},{"id":"5","fieldEnName":"ZPGTD.DKYT","fieldCnName":"地块用途","isEditable":"true","isShow":"true"},{"id":"6","fieldEnName":"ZPGTD.TDWZ","fieldCnName":"土地位置","isEditable":"true","isShow":"true"},{"id":"7","fieldEnName":"ZPGTD.CJSJ","fieldCnName":"成交时间","isEditable":"true","isShow":"true"},{"id":"8","fieldEnName":"ZPGTD.TDCJMJ","fieldCnName":"土地成交面积","isEditable":"true","isShow":"true"},{"id":"9","fieldEnName":"ZPGTD.JZCJMJ","fieldCnName":"建筑成交面积","isEditable":"true","isShow":"true"},{"id":"10","fieldEnName":"ZPGTD.LMJ","fieldCnName":"楼面价","isEditable":"true","isShow":"true"},{"id":"11","fieldEnName":"ZPGTD.SRR","fieldCnName":"受让人","isEditable":"true","isShow":"true"}],
		"sqlExp":"",
		"thirdAPI":"",
		"layerRender":{"clusterPara":{"distance":"0","labelColor":"[255, 0, 0, 255]"},"clusterSymbol":[],"nonClusterSymbol":{"pic":"BluePin1LargeB.png","height":"32","width":"32","offsetx":"0","offsety":"15"}},
		"attachmentInfo":{},
		"isEditable":"0",
		"isCluster":"0",
	},
	{
		"id":"102",
		"pId":"1",
		"name":"厦门市招拍挂专题图",
		"url":"http://192.168.1.110:6080/arcgis/rest/services/YHLP2/FeatureServer",
		"mapQueryUrl":"http://192.168.1.110:6080/arcgis/rest/services/YHLP2/FeatureServer/0",
		"autoCmpData":"",
		"mapType":"0",
		"mapLegend":"",
		"tokenKey":"qqqqqqqq",
		"totalCount":"0",
		"idField":"",
		"nameField":"PTMC",
		"fieldConfig":[],
		"beginLevel":"1",
		"endLevel":"20",
	}</span>

JSON的广泛使用得益于其独立于语言,轻量级,又具有自述性,JavaScript的崛起也带动着JSON,毕竟JSON格式的数据传输还是很方便的

JSON数据的使用
<span style="font-size:18px;"><script>
var JSONObject= {
    "id":"10001",
    "name":"test"
};
document.getElementById("id").innerHTML=JSONObject.id;
document.getElementById("name").innerHTML=JSONObject.name;
</script>
</span>
如上例子,JSON在Javascript可以转化为Object使用,且方便解析

在JSON的数据中,“{}”代表对象,“[]”代表数组

如代码段2便是数组中有对象,对象中有数组,在对象.....
在JavaScript中解析JSON字符串时,可以使用eval(),和JSONPrase();就个人而言,还是倾向于使用JSONPrase();

eval()用于简单的对象,
<span style="font-size:18px;">var d=eval("("+data1+")");
d.id;//10001
d.name;//test</span>

JSONPrase():
<span style="font-size:18px;">var d2=JSONPrase(data2);
//将d2解析为数组,数组保存的是对象
d2[0].id;//128;
d2[1].id;//102;
//复杂情况
var filedConfig=JSONPrase(d2[0].filedConfig);//为数组
filedConfig[0].id;//1
//......
</span>



   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值