拉出json文件中的最后一个值

时间:2017-04-12 01:16:40

标签: javascript json

我有一个json文件,我需要从特定的客户ID中提取最后一个值。 Json文件全天更新,我将此设置作为一个函数,将拉取客户ID中的最后一个作业号。

的Json

//other code above
else{
    $_SESSION['id'] = $row['id'];
    if ($role == 'admin') {
   header("Location: admin.php");
} else if ($role == 'editor') {
   header("Location: editor.php");
} else if ($role == 'user') {
   header("Location: user.php");
}
//other code below

我只需从客户ID 5886708366中提取并使用本案例中的最后一个作业编号636275415626921919c。

到目前为止,我有以下内容。

[{"CustId":"5886708366","JobNumber":"636275400282798443c"},{"CustId":"123456798","JobNumber":"636275400535607074c"},{"CustId":"5886708366","JobNumber":"636275413000246135c"},{"CustId":"5886708366","JobNumber":"636275415626921919c"},{"CustId":"5926680270","JobNumber":"636275435491908861c"},{"CustId":"5926680270","JobNumber":"636275436824699429c"},{"CustId":"5926680270","JobNumber":"636275440818384096c"}]

我坚持要完成最后一部分。我能够循环完成工作,但不能只调用最后一个。任何帮助都会很棒。

3 个答案:

答案 0 :(得分:1)

如果您确定您只需要最后一项,您就可以这样:

var lastItem = json[json.length - 1];

如果您事先知道客户ID,可以使用find方法,如果客户可能并不总是位于数组的最后位置,那么这将更好

var customer = json.find(val => val.CustId === '5926680270')

答案 1 :(得分:1)

尝试反向循环遍历数组以获取最新版本。

for (var i = length - 1; i > 0; i--) {
  if (json[i].CustId == {{ customer.id }}) { 
  }
}

答案 2 :(得分:1)

在阵列中获取最后请求的CustId的方法如下:



var json = JSON.parse('[{"CustId":"5886708366","JobNumber":"636275400282798443c"},{"CustId":"123456798","JobNumber":"636275400535607074c"},{"CustId":"5886708366","JobNumber":"636275413000246135c"},{"CustId":"5886708366","JobNumber":"636275415626921919c"},{"CustId":"5926680270","JobNumber":"636275435491908861c"},{"CustId":"5926680270","JobNumber":"636275436824699429c"},{"CustId":"5926680270","JobNumber":"636275440818384096c"}]');
var lastObj = json.reverse().find(obj => obj.CustId == "5926680270");
console.log(lastObj.JobNumber);




反转JSON数组,找到包含customerId的对象,并获取其jobNumber,非常简单的单行。