如何使用javascript和swig获得相同的输出?
在Javascript中,如果我这样做如何使用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 } } }; 我可以得到“白
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 %}