[英]Loop json variable in javascript
I have a variable in which I get json
value. 我有一个变量,我在其中获取
json
值。 The value comes from 4 tables. 该值来自4个表。 I want to loop each table while assigning values.
我想在分配值时循环每个表。 Below is my code
下面是我的代码
var dataResponse = JSON.parse(response);
I get values from table as 我从表中获取值
dataResponse.Table[0]
, dataResponse.Table[1]
.... dataResponse.Table[0]
, dataResponse.Table[1]
....
how to loop it in javascript. 如何在javascript中循环播放。 Please help
请帮忙
My json
value 我的
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
}]
}
UPDATE 更新
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);
}
}
}
Oh my... Your dataResponse.Table
is not an Array
. 哦,我的...您的
dataResponse.Table
不是Array
。 It is an Object
. 它是一个
Object
。
For Array
of array-like object, you use for loop . 对于类
Array
对象的Array
,请使用for loop 。
However, to loop an Object
, you use for...in loop . 但是,要循环一个
Object
,可以使用for ... in loop 。
In your case, it can be done so like: 在您的情况下,可以这样进行:
for (var key in dataResponse){
/* Your logic here */
/* key => Table, Table1, Table2... */
/* dataResponse[key] => [{...}], [{...}]... */
}
I will not answer your question directly. 我不会直接回答您的问题。 Because clearly you have not make any notable effort in researching looping in javascript.
因为显然您在研究javascript循环方面没有做出任何显着的努力。
The response is an object not an array . 响应是一个对象,而不是数组 。 For iterating over an object, we use for-in loop and for iterating over an array, we use for loop.
为了遍历一个对象,我们使用了for-in循环,为了遍历一个数组,我们使用了for循环。 In your case, you use for-in loop.
在您的情况下,您可以使用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); } }
You can get easily the value of dataResponse
with for-of
and for-in
. 您可以通过
for-of
和for-in
轻松获得dataResponse
的值。
First, you have to get the object name
using for-in
. 首先,您必须使用
for-in
获得object name
。
Second, you can control the name of tables. 其次,您可以控制表的名称。 (Table, Table1 ...)
(表,表1 ...)
for(item of dataResponse[table])
will return the value of each table. for(item of dataResponse[table])
将返回每个表的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.