JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript语法,但是它也可以在其他语言中使用。JSON 是一种文本格式,它使用键值对来表示数据。
在 JavaScript 中遍历 JSON 对象有多种方法。其中一种方法是使用 for...in 循环。for...in 循环可以遍历对象的所有属性,包括原型上的属性。下面是一个使用 for...in 循环遍历 JSON 对象的例子:
var jsonObj = { "name": "John", "age": 30, "city": "New York" }; for (var key in jsonObj) { console.log(key + ": " + jsonObj[key]); }
另一个常用的方法是使用 Object.keys() 方法。Object.keys() 方法返回一个包含对象所有可枚举属性的数组。我们可以使用 forEach() 方法来遍历这个数组并打印出对象的所有属性:
var jsonObj = { "name": "John", "age": 30, "city": "New York" }; Object.keys(jsonObj).forEach(function(key){ console.log(key + ': ' + jsonObj[key]); });
此外,我们还可以使用 ES6 的新特性——for...of循环来遍历 JSON 对象。for...of循环会遍历对象中的所有元素,而不会遍历其原型上的属性。下面是一个使用 for...of循环遍历 JSON 对象的例子:
var jsonObj = { "name": "John", "age": 30, "city": "New York" }; for (let [key, value] of Object.entries(jsonObj)) { console.log(`${key}: ${value}`); }
在 JavaScript 中遍历 JSON 变得非常容易,我们可以通过上面提到的三种方法来实现这一目标。无论你选择何种方式都能够很好地工作,你应该根据你想要实现的功能来选择合适的方式。
代码示例:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<SCRIPT LANGUAGE="JavaScript">
var t="{"firstName": "cyra", "lastName": "richardson", "address": { "streetAddress": "1 Microsoft way", "city": "Redmond", "state": "WA", "postalCode": 98052 },"phoneNumbers": [ "425-777-7777","206-777-7777" ] }";
var jsonobj=eval("("+t+")");//单个JSON对象时要加括号,JSON数组就不需要了
alert(jsonobj.firstName);
alert(jsonobj.lastName);
var t2="[{name:"zhangsan",age:"24"},{name:"lisi",age:"30"},{name:"wangwu",age:"16"},{name:"tianqi",age:"7"}] ";
var myobj=eval(t2);
for(var i=0;i<myobj.length;i++){
alert(myobj[i].name);
alert(myobj[i].age);
}
var t3="[["<a href=# onclick=openLink(14113295100,社旗县国税局桥头税务所,14113295100,d6d223892dc94f5bb501d4408a68333d,swjg_dm);>14113295100</a>","社旗县国税局桥头税务所","社旗县城郊乡长江路西段"]]";
//通过eval() 函数可以将JSON字符串转化为对象
var obj = eval(t3);
for(var i=0;i<obj.length;i++){
for(var j=0;j<obj[i].length;j++){
alert(obj[i][j]);
}
}
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
附加JSP后台拼JSON字符串
<%@ page contentType="text/html;charset=GBK" %>
<%@ taglib uri="/tags/web-flex" prefix="flex"%>
<%@ taglib uri="/tags/web-grid" prefix="grid"%>
<%@ taglib uri="/tags/web-html" prefix="html"%>
<%@ taglib uri="/tags/web-sotower" prefix="sotower"%>
<%@ taglib uri="/tags/sotower-bsp" prefix="bsp"%>
<%@page import="java.util.List"%>
<%@page import="com.wuynw.ygxx.po.WyYuang"%>
<%
List reslist=(List)request.getAttribute("flexgrid.data");
StringBuilder sb=new StringBuilder();
sb.append("[");
for(int i=0;i<reslist.size();i++)
{
WyYuang w=(WyYuang)reslist.get(i);
if(i>0)
{
sb.append(",");
}
sb.append("{").append(""").append("id").append(""").append(":");
sb.append(""").append(w.getId()).append(""").append(",");
sb.append(""").append("name").append(""").append(":");
sb.append(""").append(w.getXingm()).append(""").append(",");
sb.append(""").append("gongh").append(""").append(":");
sb.append(""").append(w.getGongh()).append(""").append(",");
sb.append(""").append("zhiw").append(""").append(":");
sb.append(""").append(w.getZhiw()).append(""").append(",");
sb.append(""").append("ruzrq").append(""").append(":");
sb.append(""").append(w.getRuzrq()).append(""").append("}");
}
sb.append("]");
out.print(sb.toString());
%>
String 对象String 对象用于处理文本(字符串)。String 对象创建方法: new String().语法var txt = new String("string");或者...
History 对象History 对象History 对象包含用户(在浏览器窗口中)访问过的 URL。History 对象是 window 对象的一部分,可通过 w...
HTML DOM Audio 对象Audio 对象Audio 对象是HTML5中新增的。Audio 对象代表着 HTML audio 元素。访问 Audio 对象你可以使用getEl...
HTML DOM Datalist对象Datalist 对象The Datalist 对象是HTML5新增的。 Datalist 对象代表 HTML datalist 元素。访问 Datalist ...
HTML DOM Frameset 对象Frameset 对象Frameset 对象代表 HTML 框架集。HTML frameset 元素拥有两个或者更多的 frame 元素。每个f...
HTML DOM Input DatetimeLocal 对象Input DatetimeLocal 对象Input DatetimeLocal 对象是 HTML5 新增的。 Input DatetimeLocal ...
HTML DOM Password 对象Password 对象Password 对象代表 HTML 表单中的密码字段。HTML 的 input type="password" 标签在表单上每...
HTML DOM Input Week 对象Input Week 对象Input Week 对象是 HTML5 新增的。Input Week 对象表示使用 type="week" 属性的 HTML i...
HTML DOM MenuItem 对象MenuItem 对象MenuItem 对象是HTML5新增的。MenuItem 对象表示 HTML menuitem 元素。注意:目前只有Firef...
HTML DOM 引用( q) 对象引用对象引用对象定义了一个同内联元素的HTML引用。 q 标签定义短的引用。q 元素经常在引用的内容周围添...