0

我是 CouchDB 的新手。我从安静的某个时候开始熟悉 JSON。我现在的问题是我有一个非常复杂的 JSON 数据。我还阅读了一些 mustache.js 的文档,觉得它非常适合渲染 JSON。渲染简单的 JSON 很好,但是如果存在嵌套对象怎么办。下面是我的示例 JSON:

{
 "name": "John",
 "email": "john@abc.com",
 "files": {
         "img1.jpg":
               {"content_type": "image/jpeg", "revpos": 3, "length": 33423, "stub": true},
         "img2.jpg": 
              {"content_type": "image/jpeg", "revpos": 2, "length": 146909, "stub": true}
 }

}

我想显示我的姓名、电子邮件和图像文件。如何使用 mustache.js 完成此操作

4

2 回答 2

1

我会改变你的数据返回方式。

{
 "name": "John",
 "email": "john@abc.com",
 "files": {
         0:
               {"filename": "image1.jpg", "content_type": "image/jpeg", "revpos": 3, "length": 33423, "stub": true},
         1: 
              {"filename": "image2.jpg", "content_type": "image/jpeg", "revpos": 2, "length": 146909, "stub": true}
 }

你的输出应该是这样的:

Name: {{name}}<br />
Email: {{email}}<br />
Files: <ul>
{{#.}}
    <li>{{filename}}</li>
{{/.}}
</ul>
于 2012-11-19T23:20:16.107 回答
-1

我不知道如何循环一个对象并获得它的关键,但如果你向文件添加一个“文件名”属性,你可以这样做:

Name: {{name}}<br />
Email: {{email}}<br />
Files: <ul>
{{#files}}
    <li>{{filename}}</li>
{{/files}}
</ul>

https://github.com/janl/mustache.js#non-empty-lists

顺便说一句:您发布的是有效的 JS,但不是有效的 JSON(缺少键周围的引号)

于 2012-07-23T12:53:36.347 回答