Hopp til innhold
NorscodeNorscode

std.json

ReferanseAv Norscode-prosjektet

std.json lar programmet ditt snakke JSON: parse gjør en JSON-tekst om til en ordbok du kan hente verdier fra trygt, og stringify går den andre veien.

std.json lar programmet ditt snakke JSON — formatet nesten alle web-API-er bruker for å utveksle data. parse gjør en JSON-tekst om til en ordbok du kan hente verdier fra, og stringify går den andre veien, fra ordbok til tekst du kan sende videre.

I stedet for å plukke ut felter for hånd, gir modulen deg trygge hent_*-funksjoner som henter en verdi på en nøkkel og gir en fornuftig standardverdi hvis nøkkelen mangler. Det betyr at et uventet svar ikke velter programmet — du får en tom tekst eller et null-tall i stedet for en krasj.

Når bruker du den

Bruk std.json når du snakker med web-API-er eller lagrer strukturert data som tekst. parse tar imot et svar og gir deg en ordbok; hent_*-funksjonene plukker ut verdiene trygt, med fornuftige standardverdier hvis en nøkkel mangler.

Slik kommer du i gang

bruk std.json som json

// kropp kan for eksempel være {"navn": "Ada", "alder": 36}
la data = json.parse(kropp)
la navn = json.hent_tekst(data, "navn")   // "Ada"
la alder = json.hent_tall(data, "alder")  // 36

// bygg JSON tilbake
la svar = json.stringify(data)

parse gir deg en ordbok, og hent_* plukker ut verdiene trygt. Mangler en nøkkel, får du en tom tekst eller null i stedet for en feil.

Funksjonene

Modulen har to retninger og en gruppe hjelpere. parse og stringify konverterer mellom tekst og ordbok. hent_tekst, hent_tall og hent_bool plukker ut enkeltverdier trygt, og hent_array_ og array_til_ håndterer lister.

  • parse(innhold: tekst) -> ordbok_tekst — Tolker en JSON-tekst og gir en ordbok du kan hente verdier fra.
  • stringify(data: ordbok_tekst) -> tekst — Gjør en ordbok om til en JSON-tekst med korrekt escaping.
  • hent_tekst(data: ordbok_tekst, nøkkel: tekst) -> tekst — Henter en tekstverdi på nøkkel, eller tom tekst hvis den mangler.
  • hent_tall(data: ordbok_tekst, nøkkel: tekst) -> heltall — Henter en tallverdi på nøkkel, eller 0 hvis den mangler.
  • hent_bool(data: ordbok_tekst, nøkkel: tekst) -> bool — Henter en boolsk verdi på nøkkel.
  • array_til_tekst_liste(data: ordbok_tekst) -> liste_tekst — Gjør et JSON-array om til en liste_tekst.
  • array_til_tall_liste(data: ordbok_tekst) -> liste_heltall — Gjør et JSON-array om til en liste_heltall.
  • hent_array_tekst(data: ordbok_tekst, nøkkel: tekst) -> liste_tekst — Henter et array av tekst direkte på en nøkkel.
  • hent_array_tall(data: ordbok_tekst, nøkkel: tekst) -> liste_heltall — Henter et array av tall direkte på en nøkkel.

Godt å vite

  • hent_*-funksjonene gir en standardverdi ved manglende nøkkel, så et uventet svar velter ikke programmet.
  • Nøstede strukturer hentes ut trinn for trinn; hent_array_tekst og hent_array_tall gir deg lister direkte.
  • Bygger du JSON som skal sendes ut, la stringify ta seg av korrekt escaping i stedet for å sette sammen teksten selv.

std.json er én av modulene i standardbiblioteket. Alt følger med kjøretiden — ingen installasjon, ingen eksterne avhengigheter. Se også Dokumentasjon for språket og kjøretiden.

Les også

Tilbake til oversikten