Modo corretto per strutturare JSON per il consumo front-end

3

Avendo lavorato su diverse basi di codici di applicazioni Web, ho visto alcune divergenze nel modo in cui i back-end servono JSON ai front-end per strutturare quei dati. In particolare, quando un back-end vuole restituire un numero di oggetti della stessa struttura. Racchiudi tutti gli oggetti di un array? E la "chiave" del primo array? Cosa dovrebbe essere?

Ad esempio, supponiamo che il mio back-end voglia restituire un numero di elementi "immagine". Ogni elemento dell'immagine è strutturato in questo modo:

{
    "id" : 123,
    "filename" : "someFile.jpg",
    "caption" : "some image or other",
    "gallery" : 123
}

Come faccio a strutturare correttamente un raggruppamento di questi elementi per il consumo da parte di un front-end javascript?

    
posta b.b. 06.03.2014 - 20:21
fonte

2 risposte

9

Venendo da una prospettiva di sviluppo front-end, preferisco il più semplice e semantico il più possibile. Generalmente all'interno di una busta coerente per il debug e il monitoraggio, i dati effettivi sarebbero i seguenti:

{
    "images" : [
        {
          "id" : 123,
          "filename" : "someFile.jpg",
          "caption" : "some image or other",
          "gallery" : 123
        },{
          "id" : 124,
          "filename" : "someFile.jpg",
          "caption" : "some image or other",
          "gallery" : 124
        }
    ]
}

Le buste spesso assomigliano a questo:

   {      
      "messageID"     : "sflskdfj-asldkja-asdlk", // some uuid
      "sendDate"      : 1394134506764, // time at which the server sent the message
      "requestMethod" : "GET",
      // whatever else you want for front-end tracking or debugging
      "data"          : {
          "images" : [...]
      }
   }
    
risposta data 06.03.2014 - 20:36
fonte
0

Provenendo dalle rotaie e dalla sua capacità auto-magica di trasformare l'oggetto rubino in XML JSON ... direi che dovresti semplicemente inviare una matrice delle tue entità. Se ti preoccupi di non sapere cosa potrebbe esserci all'interno dell'array. Se utilizzi un approccio RESTful, la coppia URL: HTTP_VERB ti dirà la risorsa a cui stai accedendo e cosa aspettarti dalla risposta.

    
risposta data 06.03.2014 - 20:29
fonte

Leggi altre domande sui tag