为什么for- in loop returns 'arg' when loop is empty
Why For- in loop returns 'arg' when loop is empty
我正在遍历 JSON 对象
我的JSON结构是这样的
{"someinfo":{"Parameter":{"ABC":"123","xyz":"456"}}}
for (var tempVal in jsonObj.someinfo.Parameter) {
//print tempval
}
当 JSON 中的 'Parameter' 被填充时,上面的循环将 return 更正值。
如果为空则打印arg
JSON 中的空 'Parameter' 看起来像:
{"someinfo":{"Parameter":""}}}
为了在空或非空时打印正确的值,for-in 循环有什么办法
您可以检查 jsonObj.someinfo.Parameter
是否是这样的对象:
var json = {"someinfo":{"Parameter":{"ABC":"123","xyz":"456"}}};
if(typeof json.someinfo.Parameter === "object") {
for(var key in json.someinfo.Parameter) {
// print key
}
} else {
// Do something when it is not an object (empty)
}
填充 Parameter
是 object
空 Parameter
是一个 string
var jsonObj1={"someinfo":{"Parameter":{"ABC":"123","xyz":"456"}}};
var jsonObj2={"someinfo":{"Parameter":""}};
alert("Full: "+typeof jsonObj1.someinfo.Parameter+" ---- Empty: "+typeof jsonObj2.someinfo.Parameter)
你不能 "loop in a string" 所以如果你改变你的 JSON 或像这样测试它
if (typeof jsonObj1.someinfo.Parameter==="object") {
for (var tempVal in jsonObj.someinfo.Parameter) {
//print tempval
}
} else {
//empty
}
我正在遍历 JSON 对象
我的JSON结构是这样的
{"someinfo":{"Parameter":{"ABC":"123","xyz":"456"}}}
for (var tempVal in jsonObj.someinfo.Parameter) {
//print tempval
}
当 JSON 中的 'Parameter' 被填充时,上面的循环将 return 更正值。
如果为空则打印arg
JSON 中的空 'Parameter' 看起来像:
{"someinfo":{"Parameter":""}}}
为了在空或非空时打印正确的值,for-in 循环有什么办法
您可以检查 jsonObj.someinfo.Parameter
是否是这样的对象:
var json = {"someinfo":{"Parameter":{"ABC":"123","xyz":"456"}}};
if(typeof json.someinfo.Parameter === "object") {
for(var key in json.someinfo.Parameter) {
// print key
}
} else {
// Do something when it is not an object (empty)
}
填充 Parameter
是 object
空 Parameter
是一个 string
var jsonObj1={"someinfo":{"Parameter":{"ABC":"123","xyz":"456"}}};
var jsonObj2={"someinfo":{"Parameter":""}};
alert("Full: "+typeof jsonObj1.someinfo.Parameter+" ---- Empty: "+typeof jsonObj2.someinfo.Parameter)
你不能 "loop in a string" 所以如果你改变你的 JSON 或像这样测试它
if (typeof jsonObj1.someinfo.Parameter==="object") {
for (var tempVal in jsonObj.someinfo.Parameter) {
//print tempval
}
} else {
//empty
}