Göm meny

JSON (JavaScript Object Notation)

JSON är ett textbaserat dataformat som används väldigt flitigt idag. JSON står för “JavaScript Object Notation” och även om det har sitt ursprung i programmeringsspråket JavaScript, så används det inte enbart av JavaScript. JSON är ett av de vanligaste formaten för informationsutbyte från/mellan webbtjänster.

JSON-formatet kan lagra data sekventiellt eller associativt, dvs precis det som vi i Python använder datatyperna list och dict till. Faktum är att det finns väldigt stora likheter mellan hur vi beskriver listor och dictionaries i kod och JSONs syntax. Nedan följer punkter en kort informell beskrivning av JSON-formatet:

  • JSON-data innehåller ett objekt.
  • Ett objekt börjar med tecknet { och slutar med tecknet }.
  • Ett objekt innehåller oordnade par av strängar och värden åtskiljda av tecknet ,
  • Ett värde kan vara något av följande: objekt, array, siffra, "true", "false" och "null".
  • En array börjar med tecknet [ och slutar med tecknet ].
  • En array är en ordnad sekvens av värden åtskiljda av tecknet ,

Exempel

Nedan är ett exempel på data i JSON-format:

{
    "name": {
        "first name": "Grace",
        "last name": "Hopper"
    },
    "birth year": 1906,
    "wikipedia": "https://en.wikipedia.org/wiki/Grace_Hopper"
}

Länk till JSON-data som används för info-skärmarna utanför Ada:

Enklare utforskning av JSON-data

Ibland kan det vara väldigt mycket text att orientera sig i när man har JSON-data. Webbplatsen JSON Viewer (https://codebeautify.org/jsonviewer) kan användas för att göra det lättare att titta på JSON-data eftersom den tillhandahåller ett gränssnitt där man kan fälla ut och fälla in olika delar av datat. Man kan fälla ihop delar både i textvyn på vänster sida och i trädvyn på höger sida.

För att titta på data från t.ex. https://www.ida.liu.se/~TDDE44/pokeapi/api/v2/pokemon/104/, så trycker man på knappen “Load Url”, klistrar in den URL man vill titta på och sen på “Load”.

OBS! I trädvyn finns siffror lite här och där som visar antingen index för list-element eller hur många element som finns t.ex. ett dictionary eller i en lista. Dessa siffror finns endast i gränssnittet, inte i själva JSON-datat.

Mer information

Se även


Sidansvarig: Johan Falkenjack
Senast uppdaterad: 2020-01-17