1. 程式人生 > >js讀取json數據

js讀取json數據

對象表達式 left creat log time image logs list pos

{

"code": 0,

"msg": null,

"data": {

"pageNum": 1,

"pageSize": 5,

"total": 1,

"pages": 1,

"list": [

{

"pid": "0ccddaed355211e79954005056b233c9",

"sectionId": "1234567",

"tid": "0cb966d1355211e79954005056b233c9",

"first": "1",

"parentId": null,

"title": "五一要事",

"userId": "123456",

"userName": "王俐",

"postLayer": 1,

"status": "0",

"createTime": 1494401186000,

"content": "五一放假通知",

"aids": null,

"attachments": [

{

"aid": "0710f56b355911e79954005056b233c9",

"tid": "0cb966d1355211e79954005056b233c9",

"pid": "0ccddaed355211e79954005056b233c9",

"fileType": "png",

"fileName": "11.png",

"fileSize": 85379,

"downloads": 0,

"attachmentUrl": "201705\\a8ae2dd54f9d4c8aa7ead423f2578992.png",

"downloadUrl": "http://10.144.238.21:8080/starMOOC/forum/downloadFile/0710f56b355911e79954005056b233c9",

"previewUrl": "http://10.144.238.21:8080/starMOOC/forum/showImage/0710f56b355911e79954005056b233c9",

"uploadtime": 1494404183000,

"aids": null

}

]

}

],

"firstPage": 1,

"prePage": 0,

"navigatepageNums": [

1

]

}

}

js讀取JSON的方法我接觸到的有兩種:
方法一:函數構造定義法返回
var strJSON = "{name:‘json name‘}";//得到的JSON
var obj = new Function("return" + strJSON)();//轉換後的JSON對象
alert(obj.name);//json name

方法二:js中著名的eval函數
var strJSON = "{name:‘json name‘}";//得到的JSON
var obj = eval( "(" + strJSON + ")" );//轉換後的JSON對象
alert(obj.name);//json name

第二種方法需要註意的是,對象表達式{‘name‘:‘json name‘}必須用“()”擴住,否則
var strJSON = "{name:‘json name‘}";
var obj = eval(strJSON);
alert(obj.constructor);//String 構造函數
alert(obj.name);//undefine
必須把對象表達式擴起來eval執行才能生成一個匿名對象!

js讀取json數據