Sonntag, Juli 5, 2020

Wie kann ich darstellen, Liste der Daten, die im JSON-format?

Arbeite ich an der Gestaltung der JSON-Dokument an meine Daten. Unten ist ein einzelner Wert (v) enthält site-id, price-score und confidence-score für jetzt.

{
  "v" : {
    "site-id" : 0,
    "price-score" : 0.5,
    "confidence-score" : 0.2
  }
}

Nun, möchte ich hinzufügen, dass die Kategorien-Liste in der oben genannten JSON-Dokument. Als ich bin dabei, mehrere Kategorien für einen einzelnen Wert (v) so kam ich auf unten JSON-Dokument-

{
  "v" : {
    "site-id" : 0,
    "price-score" : 0.5,
    "confidence-score" : 0.2,
    "categories": [
          {
            "category-id": "123",
            "price-score": "0.5",
            "confidence-score": "0.2"
          },
          {
            "category-id": "321",
            "price-score": "0.2",
            "confidence-score": "0.4"
          }
    ]
  }
}

Kann jemand werfen Sie einen Blick und lassen Sie mich wissen, ob es gut aussieht in der Art habe ich Hinzugefügt, Liste der Kategorien in der oben genannten JSON-Dokument? Oder gibt es eine bessere Art, das gleiche zu tun? Wie ich nicht wollen, zu beginnen, die Probleme, wenn ich auf Arbeit bin serialisieren und Deserialisieren der oben genannten JSON-Dokument.

  • Scheint mir Recht sein
  • Möglicherweise möchten Sie categories ein Objekt, dessen Schlüssel die ID, statt eines Arrays. Das macht es leicht zu finden eine spezifische ID ohne looping. Aber anders als das, es sieht finden.
  • Können Sie mir ein Beispiel, was rechtfertigt das? Es macht mich verstehen, viel besser. Danke.
InformationsquelleAutor | 2013-09-14

1 Kommentar

  1. 1

    Empfehle ich:

    {
        "v" : {
            "site-id" : 0,
            "price-score" : 0.5,
            "confidence-score" : 0.2,
            "categories": {
                "123" : {
                    "price-score": "0.5",
                    "confidence-score": "0.2"
                },
                "321" : {
                    "price-score": "0.2",
                    "confidence-score": "0.4"
                }
            }
        }
    }

    Diese Weise, Sie können ganz einfach nutzen:

    json.v.categories[id]

    um Informationen über eine bestimmte Kategorie, anstatt zu schreiben:

    var the_category;
    for (var i = 0; i < json.v.categories.length; i++) {
        if (json.v.categories[i]['category-id'] == id) {
            the_category = json.v.categories[i];
            break;
        }
    }

    Ein weiterer Vorschlag: verwenden Sie _ eher als - in der keys (oder camelCase, wenn Sie bevorzugen), als Bindestrich verhindert, dass Sie mit . notation, Zugriff auf Elemente (beachten Sie, dass ich schreiben musste ['category-id'] oben statt .category-id.

Kostenlose Online-Tests