从JSON数组中有条件地选择

时间:2013-12-30 20:34:20

标签: arrays json json2html

我正在尝试在数组中选择和显示特定的JSON数据。数据如下所示:

{ "thingys" : [
  {
    "type" : "thingy1",
    "text" : "this is thingy1"
  },
  {
    "type" : "thingy2",
    "text" : "this is thingy2"
  },
  {
    "type" : "thingy3",
    "text" : "this is thingy3"
  }
]}

我正在使用json2html,我通常会使用像

这样的东西
{"tag":"div","html":"${thingys.text}"}

这没关系,但我希望能够指定我想要$ {thingys.text},其中$ {thingys.type} ==“thingy3”。我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

实现这样的事情的最好方法是包含一个内联函数来处理“thingys”这样的东西

var transforms = {
'main': {"tag":"div","children":function() {

  var out = [];
  for(var i=0; i < this.thingys.length; i++)
     if(this.thingys[i].test == "thingy3") out.push(this.things[i]);

  return( json2html.transform(out,transforms.thing) );
}},

'thing':{"tag":"div","html":"${text}"}
};