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(コレクション、関数(キー、値){
アラート(キー + "-----"+ 値);
$.each(値、関数(k,v){ アラート(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 に答える