0

我有这个 JSON:

{ 
status: "ok", 
posts: [ { 
          id: 1362, 
          type: "ser", 
          slug: "av-ss-xiii-3",

           fields: { 
                     price: [ "550" ], 
                     sale: [ "rent" ] 
            } 
       } ]
}

我正在用 mustache 以这种方式解析它,但正如你所看到的......字段不是对象数组,它是一个具有两个属性和数组值的对象......

{{#posts}}
<h1>{{type}}</h1>
        {{#fields}}
            <p> {{price}}:{{value}}</p>
         {{/fields}} 
{{/posts}}

我想我在解析过程中会出错,因为它对价格值不起作用。

4

2 回答 2

2

您的模板即将工作。我可以看到的问题是 {{value}} 需要字段对象中不存在的键。您的模板当前输出带有冒号的价格,然后什么也不输出:

<h1>ser</h1>
<p> 550 :</p>

也许您认为 {{value}} 会输出 55​​0,或者您的意思是输出 sale 的价值。在这两种情况下,将值包装在数组中有点奇怪:[“550”]。不过这并不重要,因为每个元素中只有一个元素,这根本不会使您的模板复杂化。我只能猜测您想要的输出是什么,但请允许我在一个工作示例中演示您的模板。

{{#posts}}
    <h1>{{type}}</h1>
    {{#fields}}
    <p> {{price}} : {{sale}}</p>
    {{/fields}}
{{/posts}}

这将为您的数据输出以下 HTML:

<h1>ser</h1>
<p> 550 : rent</p>

这是一个 jsFiddle 来说明:带有多个帖子的模板

我冒昧地制作了第二个帖子对象来演示您的数据如何使用集合呈现。我还猜测您可能意味着输出价格和销售值。

我想你已经理解了这一点,但要清楚, {{#fields}} ... {{/fields}} 就像条件一样工作,因为字段是一个对象而不是数组。没关系。如果字段是假的(例如,未定义或假),您的模板将不会呈现 p 元素。

请注意,我在 jsFiddle 中使用了 jQuery,但只是为了方便访问模板和 DOM 元素。

我希望这会有所帮助,但如果您有任何问题,请告诉我。如果这不是您要查找的内容,请编辑您的问题以描述您想要的输出。

于 2013-03-08T00:47:20.393 回答
0

最后我找到了它......这是一个“方法”的问题,使用 .toHtml 它对数组没有任何作用......使用 .render 它工作正常!谢谢

于 2013-03-17T15:06:09.433 回答