Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript和swig获得相同的输出?_Javascript_Node.js_For In Loop_Swig Template - Fatal编程技术网

如何使用javascript和swig获得相同的输出?

如何使用javascript和swig获得相同的输出?,javascript,node.js,for-in-loop,swig-template,Javascript,Node.js,For In Loop,Swig Template,在Javascript中,如果我这样做 var json = { "color" : { "off-white" : { "inactive" : 0, "instock" : 5, "prestock" : 49 }, "red" : { "prestock" : 50, "instock" : 10, "inactive" : 0 } } }; 我可以得到“白

在Javascript中,如果我这样做

var json = {
"color" : {
    "off-white" : {
        "inactive" : 0,
        "instock" : 5,
        "prestock" : 49
    },
    "red" : {
        "prestock" : 50,
        "instock" : 10,
        "inactive" : 0
    }
  }
};
我可以得到“白色”和“红色”以及所有子文档

我做了同样的事情,但它不会给我同样的输出。 我还能做什么

要获得“灰白色”和“红色”的输出,我必须

  for (var col in json.color) {
      result += col  + " = " + JSON.stringify(json.color[col].prestock)+ "\n";
  }
但我无法访问子文档

如果我这样做

{% for col in Object.keys(json.color) %}
{json.color%中的col%
  • {{Object.keys(col)}
  • 我得到了“米白色”、“红色”

    我需要它们分开,比如:
  • 灰白色
  • 红色
  • 谢谢!
    圣诞快乐,新年快乐

    在JavaScript中,您应该喜欢

    {% for col in json.color %}
    <li>{{Object.keys(col)}}</li>
    
    //它会给你一个像

    json.color.off-white  OR json['color']['off-white']
    
    这将不会返回数组,因此您将无法在其中循环


    此外,您还可以通过访问对象(如
    json.color.off-white.inactive)来获取
    inactive
    的值,因此要单独显示它们,我认为您需要执行以下操作:

    {
       "inactive" : 0,
       "instock" : 5,
       "prestock" : 49
    }
    
    // check  alert(JSON.stringify(json.color.off-white));
    
    {%for key in Object.keys(json.color)%}
    
  • {{key}},{{json[“color”][key][“prestock”]}
  • {%endfor%}

    对不起,我想你已经有彩色钥匙了。现在我更新了代码,hope起作用了。

    在swig中,您无需使用
    对象即可获得密钥和值。密钥

    {% for key in Object.keys(json.color) %}
      <li>{{ key }},{{json["color"][key]["prestock"]}}</li>
    {% endfor %}
    
    {%表示json.color%中的键,val}
    
  • {{key}}={{val.prestock}
  • {%endfor%}

    这应该与JavaScript示例中的要求相同。

    但这不会返回“灰白色”或“红色”,而是访问“预存储”、“instock”和“非活动”,谢谢,但正如您所看到的,我可以用JavaScript实现,我需要用swig获得相同的输出。
    {% for key, val in json.color %}
      <li>{{ key }} = {{ val.prestock }}</li>
    {% endfor %}