json for jquery tmpl

时间:2011-03-31 13:38:16

标签: jquery json

我可以将这种格式JSON与jquery模板一起使用吗?

{
  "ROWCOUNT": 3,
  "COLUMNS": [
    "UTCODICE",
    "UT__NOME",
    "UT__COGN"
  ],
  "DATA": {
    "UTCODICE": [
      1088,
      1087,
      1086
    ],
    "UT__NOME": [
      'Roberto',
      'Paolo',
      'Carlo'
    ],
    "UT__COGN": [
      'Gino',
      'Luigi',
      'Luca'
    ]
  }
}

......或......

{
  "COLUMNS": [
    "UTCODICE",
    "UT__NOME",
    "UT__COGN"
  ],
  "DATA": [
    [
      1088,
      'Roberto',
      'Gino'
    ],
    [
      1087,
      'Paolo',
      'Luigi'
    ],
    [
      1086,
      'Carlo',
      'Luca'
    ]
  ]
}

我怎么能说jquery从“DATA”标签开始解析?

非常感谢!

3 个答案:

答案 0 :(得分:1)

第二个看起来应该可行,但您需要将所有单引号(')更改为双引号(")。

没有办法告诉jQuery从哪里开始解析,它只需一次完成整个过程。但是,一旦解析完毕,你应该能够做到:

parsed_json.DATA

访问对象的DATA部分。

答案 1 :(得分:1)

您需要JSON2.js

的副本

https://github.com/douglascrockford/JSON-js

然后你可以这样做:

var oJSON = JSON.parse(data);
var alPeople = oJSON.DATA

数据是上面的字符串

这里有一个很好的例子:

http://weblogs.asp.net/dwahlin/archive/2010/11/20/reducing-code-by-using-jquery-templates.aspx

例如:

<script id="peopleTemplate" type="text/x-jquery-tmpl">
  //your template here
</script>
<div id="peopleList"></div>

然后在您的脚本中使用JQuery模板解析数据

$('#peopleTemplate').tmpl(alPeople).appendTo('#peopleList');

答案 2 :(得分:0)

尝试使用第二个JSON对象:

<script id="dataTemplate" type="text/x-jquery-tmpl">
{{each DATA}}
<tr>
{{each $value }}
<td>${$value}</td>
{{/each}}
</tr>
{{/each}}
</script>

上面的模板为“DATA”中的每个数组创建一个表行(tr),然后为每个数组中的每个值创建一个表格单元格(td)。

希望有所帮助。