2

我从服务器发送了以下 json,我一直在尝试使用 jsrender 对其进行迭代但没有成功

{
"1": {
    "username": "one",
    "sent_email": false,
    "group": "blogger",
    "date_activated": null,
    "activated_email": false,
    "email": "email",
    "date_registered": null,
    "key": "key",
    "password": "password",
    "id": 1
},
"2": {
    "username": "Madawar",
    "sent_email": true,
    "group": "admin",
    "date_activated": "2012-07-17T00:00:00",
    "activated_email": true,
    "email": "dennis.wanyoike@gmail.com",
    "date_registered": "2012-08-22T11:21:39",
    "key": "e4hVRItub_A=",
    "password": "$2a$12$F3aBLpF.MyyiVDAocPzE9uJn0K5DZ1V4qRim54wl8f3tEv.7VC4ji",
    "id": 2
},
"3": {
    "username": "one",
    "sent_email": false,
    "group": "blogger",
    "date_activated": null,
    "activated_email": false,
    "email": "email",
    "date_registered": null,
    "key": "key",
    "password": "password",
    "id": 3
},
"4": {
    "username": "one",
    "sent_email": false,
    "group": "blogger",
    "date_activated": null,
    "activated_email": false,
    "email": "email",
    "date_registered": null,
    "key": "key",
    "password": "password",
    "id": 4
},
"5": {
    "username": "one",
    "sent_email": false,
    "group": "blogger",
    "date_activated": null,
    "activated_email": false,
    "email": "email",
    "date_registered": null,
    "key": "key",
    "password": "password",
    "id": 5
},
"6": {
    "username": "one",
    "sent_email": false,
    "group": "blogger",
    "date_activated": null,
    "activated_email": false,
    "email": "email",
    "date_registered": null,
    "key": "key",
    "password": "password",
    "id": 6
},
"7": {
    "username": "one",
    "sent_email": false,
    "group": "blogger",
    "date_activated": null,
    "activated_email": false,
    "email": "email",
    "date_registered": null,
    "key": "key",
    "password": "password",
    "id": 7
},
"10": {
    "username": "Madawar12",
    "sent_email": true,
    "group": "blogger",
    "date_activated": null,
    "activated_email": false,
    "email": "dennis.wanyoike@gmail12.com",
    "date_registered": "2012-08-30T17:13:07",
    "key": "JehBfVpoheE=",
    "password": "$2a$12$V04xpEqCWSLIWl0rte2U7OQC5/TqFcDehKJiuiqRALiW3uEYTBFsK",
    "id": 10
},
"11": {
    "username": null,
    "sent_email": true,
    "group": "blogger",
    "date_activated": null,
    "activated_email": false,
    "email": null,
    "date_registered": "2012-08-30T17:16:32",
    "key": "MG7kgSUzNK0=",
    "password": "$2a$12$6gJa1L0MZn9HB/fZNk1cXe1RDjAIOaAv1ASTgBJu.OrhOMpNfCkOG",
    "id": 11
},
"12": {
    "username": null,
    "sent_email": true,
    "group": "blogger",
    "date_activated": null,
    "activated_email": false,
    "email": null,
    "date_registered": "2012-08-30T17:17:30",
    "key": "qJisSUS8osQ=",
    "password": "$2a$12$tfDdBODJFTz/afhAvm7EjOpH.Zp.Q8Jw.h312uFZCwJQTlKRI0k6G",
    "id": 12
}

}

数字 1-12 代表记录号,不一定是连续的,是否可以使用 jsrender 显示此记录,或者我是否必须更改服务器的结果?

4

3 回答 3

3

为了给你一些想法,看看这个示例,它展示了 JsRender 中迭代字段的几种方法。您可以将这些方法应用于您的场景。(现场演示在这里)。

更新:当前文档在这里: http: //www.jsviews.com/#propstag

至于迭代到任何深度,您确实可以{{props}}在递归使用的模板或标签中使用 - 因此将数组和对象的层次结构遍历到任何深度。

这里有一个编码{{jsonview/}}的标签可以做到这一点,并在这个 jsfiddle 示例中使用,例如......

在这种情况下,它使用数据链接,因此当您以任何方式更改“树”中的数据时,jsonview 输出会增量更新。相同的 {{jsonview}} 可以仅与 JsRender 一起使用。(在这种情况下,您可以根据需要更改数据链接{^{...}}标签{{...}}。)

于 2012-08-30T22:51:51.260 回答
0

您可以将其渲染如下

var collection = json
$.each(collection, function(key,value){
alert(key + "-----"+ value);
$.each(value,function(k,v){ alert(k+"+ +++++++"+v)}); });

于 2012-08-30T20:54:48.827 回答
0

我使用了@BorisMoore 的答案并制作了一个模板,将 JSON 中的所有内容都放入一个表中:

<script type="text/x-jsrender" id="prooops">
  <table>
    {{props #data}}
      <tr>
        <td>{{>key}}</td>
        <td>
          {{props prop}}
            {{>key}}: {{>prop}}<br/>
          {{/props}}
        </td>
      </tr>
    {{/props}}
  </table>
</script>

是一个 jsFiddle 向您展示它是如何工作的。

公平地说,这是一个 4 岁的问题,我怀疑你仍然有这个问题。只是把它放在这里向后代展示它是如何完成的

于 2016-04-29T13:08:08.483 回答