我有一个ajax请求,它以json格式返回数据,如
{
"response_code": 1,
"response_data": {
"ext": [
{
"client_id":"1003",
"company_name":"Reachmediagg"
},
{
"client_id":"1004",
"company_name":"RaSpecial"
}
],
"row_count":2
},
"response_error":""
}
正如你可以看到数据在json对象里面的ext数组内,现在我必须获取数据的行号,所以我想要例如client_id 1004的行号,即2.我将如何做到这一点在javascript?
答案 0 :(得分:1)
您必须遍历JSON中的ext数组并找到包含正确client_id的元素。下面描述的功能就是这样。
function get_row_number(data, client_id) {
var ext = data.ext;
// Loop through all the clients and try to find the one with the given client_id
for (var i = 0; i < ext.length; i++) {
if (ext[i].client_id == client_id)
return i;
}
// Return -1 if the client_id could not be found
return -1;
}
答案 1 :(得分:0)
技术上数据没有行号。只有你读的方式才能推断/分配行号。
请注意ext
是一个数组。您可以遍历该数组,直到找到所需的记录并保留计数器。例如:
var counter = 0;
for (;counter <= response_data.ext.length; counter++) {
if (response_data.ext[counter].client_id == 1004) {
break;
}
}
// here "counter" is the "row number" where client_id == 1004
您还可以将其提取到目标client_id
是参数的函数中(或条件本身是一个参数,允许您查找的不仅仅是client_id
)。