C'è qualche motivo per non creare dati JSON che possono essere indicizzati da qualche chiave? Ad esempio nell'API WhenIWork di seguito, utilizzando l'id dell'utente per accedere rapidamente ai dati? Il motivo per cui lo chiedo è perché sembra che per molti usi sul lato del client si possa facilmente indicizzare l'array e quindi acquisire i dati necessari rispetto al ciclo attraverso l'array JSON alla ricerca di un ID specifico. Ma molte API non lo fanno (2 di questi esempi di seguito).
{
"users": [
{
"id": 4364,
"login_id": 2112,
"first_name": "Goldie",
"last_name": "Wilson",
},
{
"id": 27384,
"login_id": 2112,
"email": "[email protected]",
"first_name": "Jennifer",
"last_name": "Parker",
}
]
}
[
{
"type": "Event",
"public": true,
"payload": {
},
"repo": {
"id": 3,
"name": "octocat/Hello-World",
"url": "https://api.github.com/repos/octocat/Hello-World"
},
"actor": {
"id": 1,
"login": "octocat",
"gravatar_id": "",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"url": "https://api.github.com/users/octocat"
},
"org": {
"id": 1,
"login": "github",
"gravatar_id": "",
"url": "https://api.github.com/orgs/github",
"avatar_url": "https://github.com/images/error/octocat_happy.gif"
},
"created_at": "2011-09-06T17:26:27Z",
"id": "12345"
}
]
Nel mio caso specifico ho una parte degli utenti dell'API che mi dà dati simili al codice sopra. Quindi andando a users/availability
posso ottenere tutta la disponibilità per gli utenti. Ma ora devo scorrere tutti i dati alla ricerca di ID specifici.
{
[
{
"user_id":"41",
"date":"2017-07-01",
"status":"Unavailable"
},
{
"user_id":"41",
"date":"2017-07-02",
"status":"Available"},,
[
{
"user_id":"47",
"date":"2017-07-01",
"status":"Available"
},
{
"user_id":"47",
"date":"2017-07-02",
"status":"Leave\/TDY"
}
]
}