如何从JSON API获取特定的用户详细信息

时间:2018-07-26 01:18:34

标签: javascript json

任何人都可以帮助代码通过传递的名称从json获取特定用户详细信息,可以说如果我输入john,则必须返回john的所有详细信息。这是我的json

{
  "results":[
    {
      "gender":"male",
      "name":{
        "title":"mr",
        "first":"john",
        "last":"jordan"
      },
      "location":{
        "street":"3277 green rd",
        "city":"australian capital territory",
        "state":"queensland",
        "postcode":275
      },
      "email":"eugene.jordan@example.com",
      "login":{
        "username":"beautifulbutterfly703",
        "password":"redhot",
        "salt":"tva1i6Oo",
        "md5":"a4231f30aa1fcfe46e4c7c4537a4bf11",
        "sha1":"d6051a921eba285bbeccd95388332f92a50047ce",
        "sha256":"093b0e1b429a105902f91e4be28c9dc12629701924312d63d55cdfd556d54c38"
      },
      "registered":1000882268,
      "dob":537587321,
      "phone":"02-4894-6208",
      "cell":"0477-498-405",
      "id":{
        "name":"TFN",
        "value":"571061435"
      },
      "picture":{
        "large":"https://randomuser.me/api/portraits/men/12.jpg",
        "medium":"https://randomuser.me/api/portraits/med/men/12.jpg",
        "thumbnail":"https://randomuser.me/api/portraits/thumb/men/12.jpg"
      },
      "nat":"AU"
    }
  ],
  "info":{
    "seed":"8eb0b2c2e327a185",
    "results":1,
    "page":1,
    "version":"1.0"
  }
}

1 个答案:

答案 0 :(得分:0)

要过滤JSON数据集,您只需使用javascript过滤数组。

在此示例中,我向“结果”对象添加了另一个人(因此数组中有两个用户记录),并且正在过滤名称为jane的任何条目的JSON数据:

var item = array[0].results.filter(function (selection){ 
    return selection.name.first === 'jane';
});

console.log(item);

Here is a fiddle example,如果您对如何根据需要实施它有任何疑问,请告诉我。

在小提琴中,我基本上将其用作按类型查找的过程...。因此,如果您开始输入jan或joh,则在输入字符时会看到它找到的匹配项。

我让它查找不区分大小写的部分字符串匹配,但其中包含一条注释行,它将查找完全匹配(这意味着区分大小写)。

如果您有任何问题,请告诉我,祝您好运!