js解析json数组

JavaScript012

js解析json数组,第1张

var userData = '{"list":[

      {"password":"1230","username":"coolcooldool"},

      {"password":"thisis2","username":"okokok"}

      ]

}'

userInfo = eval( '(' + userData + ')' )

这里的php传回的数据为字符串格式,存储入userData中(注意是字符串)

而后使用eval进行数据解析,得到userInfo对象

然后就可以用userInfo["list"][0]["username"],得到coolcoolcool

1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

2 <HTML>

3 <HEAD>

4 <TITLE>New Document </TITLE>

5

6 <SCRIPT LANGUAGE="JavaScript">

7

8 var t="{'firstName': 'cyra', 'lastName': 'richardson', 'address': { 'streetAddress': '1 Microsoft way', 'city': 'Redmond', 'state': 'WA', 'postalCode': 98052 },'phoneNumbers': [ '425-777-7777','206-777-7777' ] }"

9var jsonobj=eval('('+t+')')

10alert(jsonobj.firstName)

11alert(jsonobj.lastName)

12

13 var t2="[{name:'zhangsan',age:'24'},{name:'lisi',age:'30'},{name:'wangwu',age:'16'},{name:'tianqi',age:'7'}] "

14var myobj=eval(t2)

15for(var i=0i<myobj.lengthi++){

16alert(myobj[i].name)

17alert(myobj[i].age)

18 }

19

20 var t3="[['<a href=# onclick=openLink(14113295100,社旗县国税局桥头税务所,14113295100,d6d223892dc94f5bb501d4408a68333d,swjg_dm)>14113295100</a>','社旗县国税局桥头税务所','社旗县城郊乡长江路西段']]"

21 //通过eval() 函数可以将JSON字符串转化为对象

22 var obj = eval(t3)

23 for(var i=0i<obj.lengthi++){

24for(var j=0j<obj[i].lengthj++){

25 alert(obj[i][j])

26}

27 }

28

29

30 /*

31 //stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。

32 var jsonText = JSON.stringify(obj)

33 alert(jsonText)

34 //如果基于安全的考虑的话,最好是使用一个 JSON 解析器。 一个 JSON 解析器将只接受 JSON 文本。所以是更安全的。

35 var myObject = JSON.parse(myJSONtext, filter)

36 //可选的 filter 参数将遍历每一个value key 值对, 并进行相关的处理。如:

37 //如

38 myData = JSON.parse(text, function (key, value) {

39 return key.indexOf('date') >= 0 ? new Date(value) : value })

40

41 //stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。

42 var myJSONText = JSON.stringifier(myObject)

43 */

44

45 </SCRIPT>

46 </HEAD>

47 <BODY>

48 </BODY>

49 </HTML>