Why For-in循环返回'arg'当循环为空时
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"时,上面的循环将返回正确的值。
如果为空,则会打印arg
JSON中的空"参数"看起来像:
{"someinfo":{"Parameter":"}}
为了在空或非空时打印正确的值,是否有任何方法可以用于循环
填充的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)
你不能"在字符串中循环",所以如果你改变你的JSON或者像这个一样测试它
if (typeof jsonObj1.someinfo.Parameter==="object") {
for (var tempVal in jsonObj.someinfo.Parameter) {
//print tempval
}
} else {
//empty
}
您可以检查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)
}
相关文章:
- jQuery:循环一个具有不同超时值的循环
- 在循环中分配json值时,值被覆盖
- 如何在下面的ES6循环中获得前面的文本
- 为什么“;未定义的“;在JavaScript中结束循环
- Javascript循环不会自我更新
- 如何使用jquery处理php循环通过元素
- 而循环只设置php中输入字段中的第一个值
- 循环遍历数组中的特定索引
- Javascript返回值只在循环中返回一次
- 按照选项卡索引的顺序循环一个jQuery选择
- 循环遍历以数组为值的Javascript对象
- 为什么JavaScript在for循环为3时向所有4发出警报
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 循环结束/推送到数组之前在页面上呈现EJS
- 循环比赛位置算法
- jQuery循环在特定位置暂停
- 我的javascript for循环不起作用
- 循环浏览多个身体背景图像
- Why For-in循环返回'arg'当循环为空时