简体   繁体   中英

JSON access keys that has are inside array of objects

I'm accessing an API in this link: https://covid19-brazil-api.now.sh/api/report/v1/brazil/20200425/

The last part of this link correspond to data about coronavirus in all of brazil states in a certain date (which is represented by the last part of the link, in this case 04/25/2020)

I want to see information for only one state, but the way the JSON is formatted there is a big array of objects called date, so I can't do this: https://covid19-brazil-api.now.sh/api/report/v1/brazil/20200425/?uf='PE'

This is the JSON:

// 20200428215028
// https://covid19-brazil-api.now.sh/api/report/v1/brazil/20200425/

{
  "data": [
    {
      "uid": 35,
      "uf": "SP",
      "state": "São Paulo",
      "cases": 20004,
      "deaths": 1667,
      "suspects": 5334,
      "refuses": 596,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 33,
      "uf": "RJ",
      "state": "Rio de Janeiro",
      "cases": 6828,
      "deaths": 615,
      "suspects": 1254,
      "refuses": 148,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 23,
      "uf": "CE",
      "state": "Ceará",
      "cases": 5421,
      "deaths": 310,
      "suspects": 493,
      "refuses": 89,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 26,
      "uf": "PE",
      "state": "Pernambuco",
      "cases": 4507,
      "deaths": 381,
      "suspects": 89,
      "refuses": 23,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 13,
      "uf": "AM",
      "state": "Amazonas",
      "cases": 3635,
      "deaths": 287,
      "suspects": 18,
      "refuses": 26,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 21,
      "uf": "MA",
      "state": "Maranhão",
      "cases": 2105,
      "deaths": 100,
      "suspects": 125,
      "refuses": 13,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 29,
      "uf": "BA",
      "state": "Bahia",
      "cases": 2081,
      "deaths": 70,
      "suspects": 573,
      "refuses": 36,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 32,
      "uf": "ES",
      "state": "Espírito Santo",
      "cases": 1595,
      "deaths": 47,
      "suspects": 71,
      "refuses": 21,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 15,
      "uf": "PA",
      "state": "Pará",
      "cases": 1579,
      "deaths": 86,
      "suspects": 43,
      "refuses": 23,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 31,
      "uf": "MG",
      "state": "Minas Gerais",
      "cases": 1481,
      "deaths": 58,
      "suspects": 925,
      "refuses": 104,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 42,
      "uf": "SC",
      "state": "Santa Catarina",
      "cases": 1209,
      "deaths": 42,
      "suspects": 346,
      "refuses": 47,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 41,
      "uf": "PR",
      "state": "Paraná",
      "cases": 1140,
      "deaths": 69,
      "suspects": 400,
      "refuses": 119,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 43,
      "uf": "RS",
      "state": "Rio Grande do Sul",
      "cases": 1096,
      "deaths": 34,
      "suspects": 416,
      "refuses": 330,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 53,
      "uf": "DF",
      "state": "Distrito Federal",
      "cases": 1013,
      "deaths": 26,
      "suspects": 327,
      "refuses": 107,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 24,
      "uf": "RN",
      "state": "Rio Grande do Norte",
      "cases": 781,
      "deaths": 40,
      "suspects": 108,
      "refuses": 22,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 16,
      "uf": "AP",
      "state": "Amapá",
      "cases": 685,
      "deaths": 19,
      "suspects": 15,
      "refuses": 0,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 52,
      "uf": "GO",
      "state": "Goiás",
      "cases": 506,
      "deaths": 25,
      "suspects": 353,
      "refuses": 55,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 27,
      "uf": "AL",
      "state": "Alagoas",
      "cases": 501,
      "deaths": 29,
      "suspects": 43,
      "refuses": 22,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 25,
      "uf": "PB",
      "state": "Paraíba",
      "cases": 447,
      "deaths": 46,
      "suspects": 85,
      "refuses": 11,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 14,
      "uf": "RR",
      "state": "Roraima",
      "cases": 345,
      "deaths": 3,
      "suspects": 9,
      "refuses": 0,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 11,
      "uf": "RO",
      "state": "Rondônia",
      "cases": 328,
      "deaths": 7,
      "suspects": 61,
      "refuses": 2,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 22,
      "uf": "PI",
      "state": "Piauí",
      "cases": 297,
      "deaths": 17,
      "suspects": 12,
      "refuses": 2,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 12,
      "uf": "AC",
      "state": "Acre",
      "cases": 258,
      "deaths": 11,
      "suspects": 12,
      "refuses": 0,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 51,
      "uf": "MT",
      "state": "Mato Grosso",
      "cases": 247,
      "deaths": 9,
      "suspects": 45,
      "refuses": 8,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 50,
      "uf": "MS",
      "state": "Mato Grosso do Sul",
      "cases": 217,
      "deaths": 7,
      "suspects": 93,
      "refuses": 26,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 28,
      "uf": "SE",
      "state": "Sergipe",
      "cases": 153,
      "deaths": 9,
      "suspects": 15,
      "refuses": 11,
      "datetime": "2020-04-25T20:34:01.065Z"
    },
    {
      "uid": 17,
      "uf": "TO",
      "state": "Tocantins",
      "cases": 50,
      "deaths": 2,
      "suspects": 13,
      "refuses": 0,
      "datetime": "2020-04-25T20:34:01.065Z"
    }
  ]
}

How should the link be so that the object "data" only shows the objects within it that has "uf"="PE"?

You can't pass a query string to JSON like that. You can, however, use a filter to filter out the data based on key value. It's as simple as this one line:

api.data.filter(a=>a.uf==code);

You can store that in a variable. You can pass it to something else, etc. I made code a variable at the top so you can change it and it will still work. Try for yourself!

 var code = "RJ"; const api = { "data": [ { "uid": 35, "uf": "SP", "state": "São Paulo", "cases": 20004, "deaths": 1667, "suspects": 5334, "refuses": 596, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 33, "uf": "RJ", "state": "Rio de Janeiro", "cases": 6828, "deaths": 615, "suspects": 1254, "refuses": 148, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 23, "uf": "CE", "state": "Ceará", "cases": 5421, "deaths": 310, "suspects": 493, "refuses": 89, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 26, "uf": "PE", "state": "Pernambuco", "cases": 4507, "deaths": 381, "suspects": 89, "refuses": 23, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 13, "uf": "AM", "state": "Amazonas", "cases": 3635, "deaths": 287, "suspects": 18, "refuses": 26, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 21, "uf": "MA", "state": "Maranhão", "cases": 2105, "deaths": 100, "suspects": 125, "refuses": 13, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 29, "uf": "BA", "state": "Bahia", "cases": 2081, "deaths": 70, "suspects": 573, "refuses": 36, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 32, "uf": "ES", "state": "Espírito Santo", "cases": 1595, "deaths": 47, "suspects": 71, "refuses": 21, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 15, "uf": "PA", "state": "Pará", "cases": 1579, "deaths": 86, "suspects": 43, "refuses": 23, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 31, "uf": "MG", "state": "Minas Gerais", "cases": 1481, "deaths": 58, "suspects": 925, "refuses": 104, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 42, "uf": "SC", "state": "Santa Catarina", "cases": 1209, "deaths": 42, "suspects": 346, "refuses": 47, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 41, "uf": "PR", "state": "Paraná", "cases": 1140, "deaths": 69, "suspects": 400, "refuses": 119, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 43, "uf": "RS", "state": "Rio Grande do Sul", "cases": 1096, "deaths": 34, "suspects": 416, "refuses": 330, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 53, "uf": "DF", "state": "Distrito Federal", "cases": 1013, "deaths": 26, "suspects": 327, "refuses": 107, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 24, "uf": "RN", "state": "Rio Grande do Norte", "cases": 781, "deaths": 40, "suspects": 108, "refuses": 22, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 16, "uf": "AP", "state": "Amapá", "cases": 685, "deaths": 19, "suspects": 15, "refuses": 0, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 52, "uf": "GO", "state": "Goiás", "cases": 506, "deaths": 25, "suspects": 353, "refuses": 55, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 27, "uf": "AL", "state": "Alagoas", "cases": 501, "deaths": 29, "suspects": 43, "refuses": 22, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 25, "uf": "PB", "state": "Paraíba", "cases": 447, "deaths": 46, "suspects": 85, "refuses": 11, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 14, "uf": "RR", "state": "Roraima", "cases": 345, "deaths": 3, "suspects": 9, "refuses": 0, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 11, "uf": "RO", "state": "Rondônia", "cases": 328, "deaths": 7, "suspects": 61, "refuses": 2, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 22, "uf": "PI", "state": "Piauí", "cases": 297, "deaths": 17, "suspects": 12, "refuses": 2, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 12, "uf": "AC", "state": "Acre", "cases": 258, "deaths": 11, "suspects": 12, "refuses": 0, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 51, "uf": "MT", "state": "Mato Grosso", "cases": 247, "deaths": 9, "suspects": 45, "refuses": 8, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 50, "uf": "MS", "state": "Mato Grosso do Sul", "cases": 217, "deaths": 7, "suspects": 93, "refuses": 26, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 28, "uf": "SE", "state": "Sergipe", "cases": 153, "deaths": 9, "suspects": 15, "refuses": 11, "datetime": "2020-04-25T20:34:01.065Z" }, { "uid": 17, "uf": "TO", "state": "Tocantins", "cases": 50, "deaths": 2, "suspects": 13, "refuses": 0, "datetime": "2020-04-25T20:34:01.065Z" } ] }; var filtered = api.data.filter(a=>a.uf==code); console.log(filtered);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM