转换输出前的json对象:
这是从数据库中读取的以json对象存取的字符串。想实现每行以键值对形式的输出,输出结果每行大致是这个样子:
操作类型:登录
用户名:admin
这个操作内容的MVC代码:
<td class="operation">
@Html.DisplayFor(modelItem => item.Operation )
</td>
无疑是循环输出的。为了把输出内容转换,需要用jquery的each循环。代码如下:
$(function () {
$(".operation").each(function (index) {
var self = $(this);
//console.info($(this).text());
var obj = eval("(" + self.text() + ")");
var str = "";
$.each(obj, function (index, item) {
str+=index+":"+item+"<br/>";
});
self.html(str);
});
});
首先循环读取每行的json字符串:
$(".operation").each(function (index)
然后把读取的json字符串转换为对象:
var obj = eval("(" + self.text() + ")");
利用$.each循环读取json字符串转换的对象obj,取出对应的键值对然后组合成字符串,并且用<br/>分行。
最后用self.html(str)替换原来的json字符串进行输出。输出的样式是下面的样子: