[英]Loop json variable in javascript
我有一个变量,我在其中获取json
值。 该值来自4个表。 我想在分配值时循环每个表。 下面是我的代码
var dataResponse = JSON.parse(response);
我从表中获取值
dataResponse.Table[0]
, dataResponse.Table[1]
....
如何在javascript中循环播放。 请帮忙
我的json
值
{
"Table": [{
"JOB_PROGRESS_ID": 4.0,
"SPAN_ID": "MUMUMBMUKLYNSPN001_BU",
"LINK_ID": "12345678",
"SPAN_TYPE": "INTERCITY",
"NE_SPAN_LENGTH": 200.0,
"HOTO_OFFERED_LENGTH": 26.0,
"LIT_OFFERED_LENGTH": 30.0,
"HOTO_ACTUAL_LENGTH": 20.0,
"LIT_ACTUAL_LENGTH": 15.0,
"HOTO_OFFERED_DATE": null,
"HOTO_ACCEPTENCE_DATE": null,
"LIT_ACCEPTENCE_DATE": null,
"APPROV_REJECT_REMARK": null,
"ISABDMISSING": 1.0,
"JOB_ID": 1.0,
"MAINTENANCEZONECODE": "INMUKLYN01"
}],
"Table1": [{
"NUMBEROFDUCTS": 3,
"ROUTETYPE": "HDD",
"ASBUILT_LENGTH": 0.09,
"SPAN_ID": "MUMUMBMUKLYNSPN001_BU"
}, {
"NUMBEROFDUCTS": 3,
"ROUTETYPE": null,
"ASBUILT_LENGTH": 0.33,
"SPAN_ID": "MUMUMBMUKLYNSPN001_BU"
}, {
"NUMBEROFDUCTS": 7,
"ROUTETYPE": "OT",
"ASBUILT_LENGTH": 12.41,
"SPAN_ID": "MUMUMBMUKLYNSPN001_BU"
}, {
"NUMBEROFDUCTS": 3,
"ROUTETYPE": "OT",
"ASBUILT_LENGTH": 0.01,
"SPAN_ID": "MUMUMBMUKLYNSPN001_BU"
}, {
"NUMBEROFDUCTS": 7,
"ROUTETYPE": "HDD",
"ASBUILT_LENGTH": 0.46,
"SPAN_ID": "MUMUMBMUKLYNSPN001_BU"
}, {
"NUMBEROFDUCTS": 8,
"ROUTETYPE": "HDD",
"ASBUILT_LENGTH": 0.02,
"SPAN_ID": "MUMUMBMUKLYNSPN001_BU"
}, {
"NUMBEROFDUCTS": 6,
"ROUTETYPE": "OT",
"ASBUILT_LENGTH": 0.33,
"SPAN_ID": "MUMUMBMUKLYNSPN001_BU"
}, {
"NUMBEROFDUCTS": 7,
"ROUTETYPE": "CLAMP",
"ASBUILT_LENGTH": 0.48,
"SPAN_ID": "MUMUMBMUKLYNSPN001_BU"
}, {
"NUMBEROFDUCTS": 5,
"ROUTETYPE": "OT",
"ASBUILT_LENGTH": 0.14,
"SPAN_ID": "MUMUMBMUKLYNSPN001_BU"
}, {
"NUMBEROFDUCTS": 8,
"ROUTETYPE": "OT",
"ASBUILT_LENGTH": 5.45,
"SPAN_ID": "MUMUMBMUKLYNSPN001_BU"
}, {
"NUMBEROFDUCTS": null,
"ROUTETYPE": "OT",
"ASBUILT_LENGTH": 0.23,
"SPAN_ID": "MUMUMBMUKLYNSPN001_BU"
}],
"Table2": [],
"Table3": [{
"UMS_GROUP_ASS_BY_NAME": "Construction_Eng",
"MODIFIED_BY": "HARDIK1.SHAH",
"MODIFIED_DATE": "2017-11-27T12:07:39",
"APPROVED_DATE": null,
"REJECTED_DATE": null
}, {
"UMS_GROUP_ASS_BY_NAME": "Construction_Eng",
"MODIFIED_BY": "HARDIK1.SHAH",
"MODIFIED_DATE": "2017-11-27T12:07:39",
"APPROVED_DATE": null,
"REJECTED_DATE": null
}, {
"UMS_GROUP_ASS_BY_NAME": "Construction_Eng",
"MODIFIED_BY": "HARDIK1.SHAH",
"MODIFIED_DATE": "2017-11-27T12:07:39",
"APPROVED_DATE": null,
"REJECTED_DATE": null
}, {
"UMS_GROUP_ASS_BY_NAME": "Construction_Eng",
"MODIFIED_BY": "HARDIK1.SHAH",
"MODIFIED_DATE": "2017-11-27T12:07:39",
"APPROVED_DATE": null,
"REJECTED_DATE": null
}, {
"UMS_GROUP_ASS_BY_NAME": "Construction_Eng",
"MODIFIED_BY": "HARDIK1.SHAH",
"MODIFIED_DATE": "2017-11-27T12:07:39",
"APPROVED_DATE": null,
"REJECTED_DATE": null
}, {
"UMS_GROUP_ASS_BY_NAME": "Construction_Eng",
"MODIFIED_BY": "HARDIK1.SHAH",
"MODIFIED_DATE": "2017-11-27T12:07:39",
"APPROVED_DATE": null,
"REJECTED_DATE": null
}, {
"UMS_GROUP_ASS_BY_NAME": "Construction_Eng",
"MODIFIED_BY": "HARDIK1.SHAH",
"MODIFIED_DATE": "2017-11-27T12:07:39",
"APPROVED_DATE": null,
"REJECTED_DATE": null
}]
}
更新
var dataResponse = JSON.parse(response);
for (var i = 0; i < dataResponse.Table.length; i++) {
if (dataResponse.Table[i] != "" || dataResponse.Table[i] != null) {
$("#spnLinkId").text(dataResponse.Table[i].LINK_ID);
$("#spnSpanLength").text(dataResponse.Table[i].NE_SPAN_LENGTH);
$("#txtFiberActlength").val(dataResponse.Table[i].HOTO_ACTUAL_LENGTH);
$("#txtLITActlength").val(dataResponse.Table[i].LIT_ACTUAL_LENGTH);
}
if (dataResponse.Table[i].ISABDMISSING != "" || dataResponse.Table[i].ISABDMISSING != null) {
if (dataResponse.Table[i].ISABDMISSING == 1) {
$("#FEmissingAsBuiltYes").prop("checked", true);
} else {
$("#FEmissingAsBuiltNo").prop("checked", true);
}
}
}
哦,我的...您的dataResponse.Table
不是Array
。 它是一个Object
。
对于类Array
对象的Array
,请使用for loop 。
但是,要循环一个Object
,可以使用for ... in loop 。
在您的情况下,可以这样进行:
for (var key in dataResponse){
/* Your logic here */
/* key => Table, Table1, Table2... */
/* dataResponse[key] => [{...}], [{...}]... */
}
我不会直接回答您的问题。 因为显然您在研究javascript循环方面没有做出任何显着的努力。
响应是一个对象,而不是数组 。 为了遍历一个对象,我们使用了for-in循环,为了遍历一个数组,我们使用了for循环。 在您的情况下,您可以使用for-in循环。
for(var item in dataResponse){
//logic
}
var dataResponse = { "Table": [{ "JOB_PROGRESS_ID": 4.0, "SPAN_ID": "MUMUMBMUKLYNSPN001_BU", "LINK_ID": "12345678", "SPAN_TYPE": "INTERCITY", "NE_SPAN_LENGTH": 200.0, "HOTO_OFFERED_LENGTH": 26.0, "LIT_OFFERED_LENGTH": 30.0, "HOTO_ACTUAL_LENGTH": 20.0, "LIT_ACTUAL_LENGTH": 15.0, "HOTO_OFFERED_DATE": null, "HOTO_ACCEPTENCE_DATE": null, "LIT_ACCEPTENCE_DATE": null, "APPROV_REJECT_REMARK": null, "ISABDMISSING": 1.0, "JOB_ID": 1.0, "MAINTENANCEZONECODE": "INMUKLYN01" }], "Table1": [{ "NUMBEROFDUCTS": 3, "ROUTETYPE": "HDD", "ASBUILT_LENGTH": 0.09, "SPAN_ID": "MUMUMBMUKLYNSPN001_BU" }, { "NUMBEROFDUCTS": 3, "ROUTETYPE": null, "ASBUILT_LENGTH": 0.33, "SPAN_ID": "MUMUMBMUKLYNSPN001_BU" }, { "NUMBEROFDUCTS": 7, "ROUTETYPE": "OT", "ASBUILT_LENGTH": 12.41, "SPAN_ID": "MUMUMBMUKLYNSPN001_BU" }, { "NUMBEROFDUCTS": 3, "ROUTETYPE": "OT", "ASBUILT_LENGTH": 0.01, "SPAN_ID": "MUMUMBMUKLYNSPN001_BU" }, { "NUMBEROFDUCTS": 7, "ROUTETYPE": "HDD", "ASBUILT_LENGTH": 0.46, "SPAN_ID": "MUMUMBMUKLYNSPN001_BU" }, { "NUMBEROFDUCTS": 8, "ROUTETYPE": "HDD", "ASBUILT_LENGTH": 0.02, "SPAN_ID": "MUMUMBMUKLYNSPN001_BU" }, { "NUMBEROFDUCTS": 6, "ROUTETYPE": "OT", "ASBUILT_LENGTH": 0.33, "SPAN_ID": "MUMUMBMUKLYNSPN001_BU" }, { "NUMBEROFDUCTS": 7, "ROUTETYPE": "CLAMP", "ASBUILT_LENGTH": 0.48, "SPAN_ID": "MUMUMBMUKLYNSPN001_BU" }, { "NUMBEROFDUCTS": 5, "ROUTETYPE": "OT", "ASBUILT_LENGTH": 0.14, "SPAN_ID": "MUMUMBMUKLYNSPN001_BU" }, { "NUMBEROFDUCTS": 8, "ROUTETYPE": "OT", "ASBUILT_LENGTH": 5.45, "SPAN_ID": "MUMUMBMUKLYNSPN001_BU" }, { "NUMBEROFDUCTS": null, "ROUTETYPE": "OT", "ASBUILT_LENGTH": 0.23, "SPAN_ID": "MUMUMBMUKLYNSPN001_BU" }], "Table2": [], "Table3": [{ "UMS_GROUP_ASS_BY_NAME": "Construction_Eng", "MODIFIED_BY": "HARDIK1.SHAH", "MODIFIED_DATE": "2017-11-27T12:07:39", "APPROVED_DATE": null, "REJECTED_DATE": null }, { "UMS_GROUP_ASS_BY_NAME": "Construction_Eng", "MODIFIED_BY": "HARDIK1.SHAH", "MODIFIED_DATE": "2017-11-27T12:07:39", "APPROVED_DATE": null, "REJECTED_DATE": null }, { "UMS_GROUP_ASS_BY_NAME": "Construction_Eng", "MODIFIED_BY": "HARDIK1.SHAH", "MODIFIED_DATE": "2017-11-27T12:07:39", "APPROVED_DATE": null, "REJECTED_DATE": null }, { "UMS_GROUP_ASS_BY_NAME": "Construction_Eng", "MODIFIED_BY": "HARDIK1.SHAH", "MODIFIED_DATE": "2017-11-27T12:07:39", "APPROVED_DATE": null, "REJECTED_DATE": null }, { "UMS_GROUP_ASS_BY_NAME": "Construction_Eng", "MODIFIED_BY": "HARDIK1.SHAH", "MODIFIED_DATE": "2017-11-27T12:07:39", "APPROVED_DATE": null, "REJECTED_DATE": null }, { "UMS_GROUP_ASS_BY_NAME": "Construction_Eng", "MODIFIED_BY": "HARDIK1.SHAH", "MODIFIED_DATE": "2017-11-27T12:07:39", "APPROVED_DATE": null, "REJECTED_DATE": null }, { "UMS_GROUP_ASS_BY_NAME": "Construction_Eng", "MODIFIED_BY": "HARDIK1.SHAH", "MODIFIED_DATE": "2017-11-27T12:07:39", "APPROVED_DATE": null, "REJECTED_DATE": null }] } for(count in dataResponse){ console.log(`[[[[[[[[[[[[[${count}]]]]]]]]]]]]]]`); for(item of dataResponse[count]){ console.log(item); } }
您可以通过for-of
和for-in
轻松获得dataResponse
的值。
首先,您必须使用for-in
获得object name
。
其次,您可以控制表的名称。 (表,表1 ...)
for(item of dataResponse[table])
将返回每个表的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.