①如果用jquery的ajax,只需要指定接受字符串的dateType为 json,这时候的实参data就已经是js对象了。
②如果不用jquery的ajax,直接执行eval(如三楼采用的:
var jsonObj =
eval(jsonStr)
eval 本身的作用就是执行字符串 )。
③还有就是parseJSON()和parse()这俩方法了(貌似需要浏览器支持,或者引入JSON2.js)。
得到了 对象一切就好说了。如果是数组格式(比如后端的json是根据ArrayList序列化来的)可以像 *** 做数组一样直接根据index取得相应数据。如果是键值对(后端是map序列化成的标准json格式
) 那就直接key.value就能取得相应数据了。
json一般是通过js来解析的,然后在页面上显示,所以用Struts-tags标签来遍历肯定是不行的,因为标签所取的值来自于ValeStack,然后输入Ognl表达式得到,这里的Json不符合这个条件。json格式的数据我们是可以通过js代码拆分的,然而我们的table也是可以通过js代码动态生成的,所以你动态生成table的同时把json的数据追加进table里面就可以了。<!DOCTYPE HTML><html>
<head>
<meta charset="UTF-8" />
<title>MODEL PAGE</title>
<style type="text/css">
table {
border: 1px solid black
border-collapse: collapse
}
td,th {
border: 1px solid black
}
</style>
<script type="text/javascript" src="jquery-1.8.0.min.js"></script>
<script type="text/javascript">
var datanav = [
{
"name" : "张三",
"position" : "1",
"powerrate" : "2",
"waterrate" : "3",
"healthcosts" : "4",
"watermeter" : "5",
"ammeter" : "6",
"linkman" : "7",
"phone" : "8",
"rental" : "9",
"tenancy" : "10",
"remark" : "11"
},
{
"name" : "李四",
"position" : "11",
"powerrate" : "10",
"waterrate" : "9",
"healthcosts" : "8",
"watermeter" : "7",
"ammeter" : "6",
"linkman" : "5",
"phone" : "4",
"rental" : "3",
"tenancy" : "2",
"remark" : "1"
}
]
window.onload = function ()
{
var table = document.getElementsByTagName ('table')[0]
for ( var i = 0i <datanav.lengthi++)
{
var tr = table.insertRow (table.rows.length)
var obj = datanav[i]
for ( var p in obj)
{
if (p == 'tenancy')
{
break
}
var td = tr.insertCell (tr.cells.length)
td.innerText = obj[p]
}
}
}
</script>
</head>
<body>
<table>
<tr>
<th>租户</th>
<th>水费</th>
<th>电费</th>
<th>卫生费</th>
<th>水表位置</th>
<th>电表位置</th>
<th>联系人</th>
<th>电话</th>
<th>房费</th>
<th>租赁合同期限</th>
</tr>
</table>
</body>
</html>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)