1、首先,需要创建一个Json文件。或者是用户自行从网络上获得Json文件。
2、如果用户是创建的。还需要在新建的Json文件中输入数据。
3、准备好Json数据文件以后,接着创建一个Html文件。在<script>标签内创建一个函数,使用Ajax语言获得和读取Json文件。
4、获取和读取文件以后,在读取数据前。用户还需要创建一个用户遍历Json文件全部数据的函数。
5、创建数据遍历函数以后,在获取和和读取函数中进行调用。遍历读取文件中的数据。
6、获取Json文件中的全部数据以后,将数据用Html代码呈现到网页上。
var obj = {"id": 1, "name":"张三"}
for(var key in obj)
{
alert("Key是:" + key)
alert("对应的值是:" + obj[key])
}
Js遍历json对象所有key及根据动态key获取值:
Js代码
<script type="text/javascript">
getJson('age')
function getJson(key){
var jsonObj={"name":"傅红雪","age":"24","profession":"刺客"}
//1、使用eval方法
var eValue=eval('jsonObj.'+key)
alert(eValue)
//2、遍历Json串获取其属性
for(var item in jsonObj){
if(item==key){ //item 表示Json串中的属性,如'name'
var jValue=jsonObj[item]//key所对应的value
alert(jValue)
}
}
//3、直接获取
alert(jsonObj[''+key+''])
}
</script>
通过上边三种方法就可以取到json中key对应的值。
<html><head>
<meta http-equiv="Content-Type" content="text/htmlcharset=gbk"/>
<script type="text/javascript">
var smsTypeDesc = {"4":"回访短信","3":"邮件短信","aa":"测试短信"}
function EnumaKey(){
for(var key in smsTypeDesc){
alert(key)
}
}
function GetVal(){
var key = prompt("请输入要查询的key","4")
if("undefined"==typeof(smsTypeDesc)) return
if("undefined"==typeof(smsTypeDesc[key])){
alert("输入的key:"+key+", 在json对象中不存在!")
return
}
alert("您输入的key是:"+key + ",该key所对应的值是:"+smsTypeDesc[key])
}
function GetValByKey(){
alert(smsTypeDesc.aa)
}
</script>
</head>
<body>
Json对象:<br/>
<pre>
var smsTypeDesc = {"4":"回访短信","3":"邮件短信","aa":"测试短信"}
</pre>
<input type="button" onclick="EnumaKey()" value="遍历smsTypeDesc所有key"/>
<input type="button" onclick="GetVal()" value="获取smsTypeDesc动态指定key的值"/>
<input type="button" onclick="GetValByKey()" value="获取smsTypeDesc key aa 所对应的值"/>
</body>
</html>