js如何读取与遍历json

JavaScript014

js如何读取与遍历json,第1张

json。本质就是键值对。是网页特效对象的序列化,是一个字符串,是一个数组。【js中,字符串是对象,数组是对象,类也是对象,一切皆对象】json(javascript object notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于javascript(standard ecma-262 3rd edition - december 1999)的一个子集。 json采用完全独立于语言的文本格式,但是也使用了类似于c语言家族的习惯(包括c, c++, c#, java, javascript, perl, python等)。这些特性使json成为理想的数据交换语言<scriptfunction a(){var str = {error:error here!hello!} var jsonobject = eval('('+str+')') alert(jsonobject.error) }</script<a onclick=a()test</a下面看个简单的实例{date:1999-9-9,x:100,y:100}, [['张三','20'],['李四','30']]这就是json。本质就是键值对。是javascript对象的序列化,是一个字符串,是一个数组。【js中,字符串是对象,数组是对象,类也是对象,一切皆对象】<script language=javascriptvar menu1 ={a:{title:1},//在js中,键值有没有双引号都无所谓,不是错误,语法就是这么规定的。b:{title:2},c:{title:3},d:{title:4}}alert(menu1.a.title)for(var x in menu1){document.write(x.tostring()+</br)document.write(menu1[x].title+</br)document.write(</br==================</br)}</script好了现在提供一款官网的写法

看这样一段函数定义的代码就明白了function json_to_format_string(obj,deep){ var html = "" var blank_string = "" for (var i = 0i <deepi++) { blank_string += " " } for(var name in obj){ if (typeof(obj[name])=="object") { html += blank_string + name +": "+ "

" html += json_to_format_string(obj[name],deep+1) }else{ html += blank_string + name +": "+ obj[name]+"

" } } return html}