🕸️
[BA] Web Programming
  • Introductie
  • Cursus
    • TypeScript
      • Waarom TypeScript?
      • Nieuw project
      • Wat is een tsconfig.json?
      • Input lezen
      • Type Systeem
        • Basic types
        • Arrays
        • Functions
        • Class
        • Interface
      • Conditionele blok
      • Loops
      • Array methods
      • Exceptions
      • Modules
      • Asynchroon Programmeren
        • Promises
        • Async/Await
        • Fetch
        • JSON
    • Frontend
      • DOM Manipulatie
      • VITE
      • Deployment met Surge
    • Backend
      • Express.js
        • Basis
        • Nodemon
        • Statische Bestanden
        • Request
        • Response
        • Router
      • MySQL
    • Fullstack
      • Van Form tot Database
      • CORS
  • Labos
    • 1. TS: Basis
      • Hello Name
      • BMI Calculator
      • Interest Calculator
      • Uren en Minuten
      • Wisselgeld
      • Name from Email
      • Text Box
    • 2. TS: Arrays & functions
      • Som van getallen
      • Math Fun
      • Array Sum
      • Puntenboek
      • Rot13
      • Pokemon Team
      • Todo List String
      • Tick Tac Toe
      • BMI Calculator Multi
    • 3. TS: Interfaces & classes
      • Recepten
      • Transportmiddelen
      • Movies
      • Filter Numbers
    • 4. TS: Async & fetch
      • Promise All
      • Slow Sum
      • Cocktails Promise All
      • Joke API
      • School API
      • Cocktails API
      • Unix Timestamp API
    • 5. TS: Modules & NPM
      • Math Module
      • Cowsay Module
      • Cat GPT
      • Rainbow Chalk
    • 6. Frontend: VITE & DOM
      • Verander achtergrond
      • Verander tekst
      • Verander divs
      • Verander kleuren
      • Verander kleuren random
    • 7. Frontend: APIs & DOM
      • Cocktail API met Vite
      • Weather API
      • Uitvinders
      • Rick and Morty
    • 8. Backend: Express & Requests
      • Hello Express
      • DadJoke Express
      • Reiskosten server
    • 9. Backend: MySQL & Routing
      • Reiskosten server
      • Taken server
      • Taken server met prioriteit
    • 10. Fullstack: Forms & Express & MySQL
      • Reiskosten app
      • Taken app
      • Pokémon app
Powered by GitBook

AP

On this page
  • Wat is JSON
  • interface
  • import statement
  1. Cursus
  2. TypeScript
  3. Asynchroon Programmeren

JSON

Wat is JSON

JSON is de afkorting van JavaScript Object Notation en is een manier om data op een gestructureerde en leesbare manier op te slaan en te verzenden. Het wordt vaak gebruikt om gegevens uit te wisselen tussen computers en applicaties.

JSON wordt samengesteld door key : value paren.

Elke key is van het type string.

De values zijn van het type:

  • string

  • number

  • boolean

  • array

  • JSON

De JSON zelf is ofwel een object, en dan staat al informatie tussen de accolades:

{
    "name": "Earth",
    "moons": [{"name" : "Moon"}]
}

Het kan ook zijn dat we een lijst van JSON objecten krijgen, en dan spreken we van een JSON array

[
    {
        "name": "Earth",
        "moons": [{"name" : "Moon"}]
    },
    {
        "name: "Mars",
        "moons": [{"name": "Phobos"}, {"name": "Deimos"}]
    }
]

interface

Deze interface zal, net zoals bij Object Literal, afdwingen dat de JSON een bepaald formaat volgt.

interface Moon {
    name: string;
}

interface Planet {
    name: string;
    moons: Moon[];
}

import statement

Je kan aan de hand van het import statement in TypeScript een JSON bestand inlezen. Dit is handig als je bijvoorbeeld een configuratie bestand hebt dat je wil inlezen of dat je een lijst van objecten wil inlezen vanuit een bestand.

Stel dat je een JSON bestand users.json hebt met de volgende inhoud:

[
  {
    "name": "Andie",
    "age": 30,
    "address": {
      "street": "Fakestreet",
      "number": 133,
      "city": "Fakegem"
    }
  },
  {
    "name": "Debbie",
    "age": 25,
    "address": {
      "street": "Fakestreet",
      "number": 133,
      "city": "Fakegem"
    }
  }
]

Dan kan je dit bestand inlezen aan de hand van het import statement:

import data from "./users.json";

Je moet hier wel op letten dat je in je tsconfig.json bestand de volgende optie hebt aangezet:

{
  "compilerOptions": {
    ...
    "resolveJsonModule": true
    ...
  }
}

Je moet dan nog wel de inhoud van usersJson in een variabele of constante steken:

const users: User[] = data;

Het is niet altijd mogelijk om een bestand in te lezen aan de hand van het import statement. Als je bijvoorbeeld een bestand wil inlezen dat niet in je project zit en ergens anders op je computer staat dan kan je dit niet inlezen aan de hand van het import statement. In dat geval kan je gebruik maken van de fs module.

PreviousFetchNextFrontend

Last updated 7 months ago

Door het gebruik van kunnen we een JSON object beschrijven.

interfaces