JSON及JSON遍历再理解
程序员文章站
2022-03-05 23:23:19
...
JSON是一种数据交换格式(轻量级),页面向服务器提交ajax请求,服务器返回json格式的数据,返回的数据一般是自己在后台拼接的Json字符串,前台需要把json字符串转为javascript对象(JSON对象),才可以对JSON数据进行解析。
json字符串 VS json对象
var personStr = "{"name":"Tom","sex":"male","age":"22"}";(字符串)
var person = {"name":"Tom","sex":"male","age":"22"};(对象)
区别:一个加了引号一个没有加。json对象直接可以通过 person.name 拿到值Tom。
只是举了一个很简单的例子,事实上,json数据会层层嵌套,需要一层层剥开。
JSON标准格式:https://blog.csdn.net/zy512638348/article/details/78270682?utm_source=blogxgwz1
JSON的遍历:(如何遍历取得键的值?如何遍历取得属性的值?)
也以一个简单的例子为例:
var dataString='{"teachers":[{"name":"黄波","course":"网页高级设计"},
{"name":"贺敏","course":"Java程序设计"},
{"name":"毛丽娟","course":"JavaScript程序设计"}],
"students":[{"name":"张三","age":20},
{"name":"李四","age":21},
{"name":"王五","age":19}]
}';
var dataObj = JSON.parse(dataString);//将json字符串转为json对象
for in:既可以遍历数组,又可以遍历对象的属性。
for(i in dataObj) 单独输出i是输出键的值,输出data[i]才是键所对应的属性的值。理解了这一点应该就不难了。
for(i in dataObj){
alert(i);
alert(dataObj[i]);
for(j in dataObj[i]){
alert(j);
alert(dataObj[i][j]);
for(k in dataObj[i][j]){
alert(k);
alert(dataObj[i][j][k]);
}
}
}
html完整演示代码
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
var dataString='{"teachers":[{"name":"黄波","course":"网页高级设计"},
{"name":"贺敏","course":"Java程序设计"},
{"name":"毛丽娟","course":"JavaScript程序设计"}],
"students":[{"name":"张三","age":20},
{"name":"李四","age":21},
{"name":"王五","age":19}]
}';
var dataObj = JSON.parse(dataString);//将json字符串转为json对象
for(i in dataObj){
alert(i);//属性名字(teachers,students)
alert(dataObj[i]);//属性值,在这里是一个对象数组[object Object],[object Object],[object Object]
for(j in dataObj[i]){
alert(j);//数字0,1,2
alert(dataObj[i][j]);//一个对象[object Object](嵌套的json对象)
for(k in dataObj[i][j]){
alert(k);//属性名字(name course age)
alert(dataObj[i][j][k]);//属性值
}
}
}
</script>
</body>
</html>
将上述js代码整合到html页面会从弹出框清楚看到解析的过程
推荐阅读
-
JSON 数据详解及实例代码分析
-
AJAX请求及JSON数据处理(SpringMVC)
-
jquery和json 博客分类: JavaScript jqueryjson遍历字符串转为json对象
-
搭建spring mvc rest返回json,xml遇到的问题,及解决办法 博客分类: java
-
js遍历json的key和value
-
js遍历json的key和value
-
Google GSON应用 - gson进行日期转换及解析数组 Gson日期数组json
-
php封装json通信接口详解及实例
-
Java代码实现Map和Object互转及Map和Json互转
-
详解spring mvc4使用及json 日期转换解决方案