Javascript 高效解析JSON
所以我通过一个JSON对象进行解析Javascript 高效解析JSON,javascript,jquery,json,Javascript,Jquery,Json,所以我通过一个JSON对象进行解析 if(val.function1!==""){ $("#contentFunction").text(val.function1); } if(val.function2!==""){ $("#contentFunction").text(val.function1 + "; " + val.function2); } if(val.function3!==""){ $("#contentFunction").text(val.fu
if(val.function1!==""){
$("#contentFunction").text(val.function1);
}
if(val.function2!==""){
$("#contentFunction").text(val.function1 + "; " + val.function2);
}
if(val.function3!==""){
$("#contentFunction").text(val.function1 + "; " + val.function2
+ "; " + val.function3);
}
如果有更好的方法来检查我的json对象属性是否为空,而不是有大量的条件,我会非常满意。。。例如,如果我有多达val.function10
感谢您的帮助类似的工具将帮助您枚举函数和属性。var strs=[];
var strs = [];
for (var i = 0; i < 10; i++) {
var value = val["function" + i];
value && strs.push(value);
}
$("#contentFunction").text(strs.join("; "));
对于(变量i=0;i<10;i++){
var值=val[“函数”+i];
值和标准推送(值);
}
$(“#contentFunction”).text(strs.join(“;”);
像这样的东西
var content = "";
for (var prop in val) {
if (!val.hasOwnProperty(prop)) continue;
if (val[prop] !== "") {
content += "; " + val[prop];
}
}
或在node.js(或现代浏览器)中:
“function10”仅仅是一种代码味道,正确地重构它。我在想,我应该从服务器上获取整个功能元素列表,而不是每个单独的元素。。。这样我就可以附加它正确的json应该是
{function:[…]}
这仍然可以附加空字符串,我担心。。。但是它越来越近了,我想如果我们只是添加一个条件来检查val[“function”+i]==“我们应该很好。。。谢谢你,雷诺斯!我刚发完帖子就看到了。。。美好的
var c = Object.keys(val).filter(function (k) {
return val[k] !== "";
}).map(function (k) {
return val[k];
}).join("; ");