JSON-bestanden

JSON is een open-standaard formaat dat tekst gebruikt die door mensen kan worden gelezen om datavoorwerpen door te sturen die uit sleutel-waarde paren bestaan. Het is het meest gebruikte dataformaat om web-API's te bouwen.

Aangezien JSON-documenten heel veel verschillende vormen kunnen hebben, kan het platform data halen uit JSON-bestanden, JSON Lines-bestanden en JSON bibliotheken.

Opmerking

Indien het platform er niet in slaagt een document met een complexe structuur volledig te extraheren, gebruik dan een van de JSON-processoren om de extractie te voltooien.

JSON-bestand

U kunt een JSON-bestand als een bron gebruiken. Vanuit dit bestand extraheert het platform een geldig JSON-document (reeks of voorwerp) in één dataset met verschillende records:

  • Indien het document een JSON-reeks is, zal een record worden aangemaakt voor elk voorwerp binnen de reeks (de sleutels zullen gebruikt worden als kolomnamen).

  • Indien het document een JSON-voorwerp is zou de parameter "JSON root" een door punten gescheiden pad naar de reeks in uw voorwerp moeten hebben. Indien niet voorzien, probeert het platform items.

Voor elk item binnen de reeks kan het platform een ander pad volgen alvorens de records te extraheren dankzij de parameter "JSON object".

Ondersteunde veldtypes

  • Regelmatige velden (decimaal, bool, string)

  • JSON-voorwerp: zal gebruikt worden in de staat waarin het zich bevindt

  • Array:

    • Indien de reeks JSON-voorwerpen bevat, zal ze gebruikt worden in de staat waarin ze zich bevindt.

    • Indien de reeks strings bevat, zal een veld met meerdere waarden worden aangemaakt waarbij alle strings gescheiden zijn door een punt komma (";").

Aanmaak

Voor meer informatie over het toevoegen van een bestandsbron, zie Een bestand ophalen.

Configuratie

JSON-parameters

Naam

Omschrijving

Gebruik

JSON root

ijson pad naar een JSON-reeks die de voorwerpen bevat die geëxtraheerd moeten worden als records van een dataset

ijson is een syntax om in JSON-voorwerpen te navigeren. Het bestaat uit het scheiden van attribuutnamen met puntjes (bijv. content.trains). Voor geavanceerde gebruikers zijn er extra functies beschikbaar.

Wanneer de JSON-array rechtstreeks aan het begin van het document staat, laat het vak JSON root dan leeg. Wanneer het JSON-bestand een JSON-voorwerp is, noteer dan het ijson-pad naar de reeks in het vak JSON root.

JSON-voorwerp

Relatief pad naar het JSON-voorwerp dat geëxtraheerd moet worden.

Eenmaal de JSON-root is ingesteld, wanneer in de voorbeeldweergave irrelevante kolommen worden getoond en het JSON-voorwerp geëxtraheerd is geworden als de waarde van één kolom, noteer dan de nam van die kolom in het vak JSON-voorwerp.

Extraheer bestandsnaam

Naam

Omschrijving

Gebruik

Extraheer bestandsnaam

Maakt een nieuwe kolom aan met de naam van de bronbestand.

Standaard is deze optie niet aangevinkt. Vink deze optie aan om de bestandsnaam te extraheren in een toegevoegde kolom.

Voorbeelden

Voorbeeld 1:

[
 {
     "name": "Agra Express",
     "origin": "Agra Cantt",
     "destination": "New Delhi"
 },
 {
     "name": "Gour Express",
     "origin": "Balurghat",
     "destination": "Sealdah"
 }
]

In dit JSON-bestand is de JSON-reeks rechtstreeks aan het begin. U kunt het vak JSON root leeg laten.

De resulterende dataset zal zijn:

name

vertrekpunt

bestemming

Agra Express Agra Cantt New Delhi
Gour Express Balurghat Sealdah

Opmerking

De volgorde van de kolommen kan verschillen.

Voorbeeld 2:

{
 "filename": "trains.json",
 "content": {
     "trains": [
         {
             "id": 123,
             "info": {
                 "name": "Agra Express",
                 "origin": "Agra Cantt",
                 "destination": "New Delhi"
             }
         },
         {
             "id": 555,
             "info": {
                 "name": "Gour Express",
                 "origin": "Balurghat",
                 "destination": "Sealdah"
             }
         }
     ]
 }
}

Voor dit complexe JSON-bestand is de juiste JSON-root content.trains. Wanneer content.trains is ingesteld als JSON-root, zal de resulterende dataset de volgende zijn:

id info
123

{"vertrekpunt": "Agra Cantt", "bestemming": "New Delhi", "naam": "Agra Express"}

555

{"vertrekpunt": "Balurghat", "bestemming": "Sealdah", "naam": "Gour Express"}

Om enkel de info van JSON-voorwerpen te extraheren en het id nummer over te slaan, is het juiste JSON-voorwerp info. Wanneer info is ingesteld als JSON-voorwerp, zal de resulterende dataset de volgende zijn:

name

vertrekpunt

bestemming

Agra Express Agra Cantt New Delhi
Gour Express Balurghat Sealdah

JSON Lines

U kunt een JSON Lines-bestand gebruiken als een bron. In JSON Lines-bestanden is elke lijn een JSON-document van één lijn. Het volledige bestand is geen geldig JSON-document maar elke lijn is dat wel.

Er worden twee modi ondersteund:

  • Eén JSON-reeks op elke lijn (of één reeks alles samen)

  • Eén JSON-voorwerp op elke lijn

Ondersteunde veldtypes

  • Regelmatige velden (decimaal, string)

  • Reeks: zal worden gebruikt in de toestand waarin deze zich bevindt

  • JSON-voorwerp: zal gebruikt worden in de staat waarin het zich bevindt

Aanmaak

Voor meer informatie over het toevoegen van een bestandsbron, zie Een bestand ophalen.

Configuratie

Configuratie

Naam

Omschrijving

Gebruik

Extraheer bestandsnaam

Maakt een nieuwe kolom aan met de naam van de bronbestand.

Standaard is deze optie niet aangevinkt. Vink deze optie aan om de bestandsnaam te extraheren in een toegevoegde kolom.

Nummer van de eerste lijn

Voor bestanden die niet op de allereerste lijn beginnen, is het mogelijk te beslissen met welke lijn eerst rekening moet worden gehouden. De lijnen erboven zullen worden overgeslagen in de dataset.

Standaard start de dataset op lijn 1. Vermeld het nummer van de lijn die overwogen zou moeten worden als het begin van de dataset.

Headers

Voor bestanden waarvan de eerste lijn veldnamen bevat

Standaard is deze optie aangevinkt. Het maakt de waarden van de eerste lijn tot veldlabels. Vink deze optie uit wanneer de eerste lijn geen veldnamen maar data bevat: de veldlabels zullen dan standaard leeg zijn.

JSON Dict

U kunt een JSON-bibliotheek als bron gebruiken. Het platform extraheert een geldig JSON-document (reeks of voorwerp) in één dataset met verschillende records.

Het platform verwacht een JSON-voorwerp waar elke sleutel een record omvat. Het platform maakt vervolgens records aan met:

  • één kolom om de sleutel te houden

  • één kolom voor elk attribuut van het overeenkomstige voorwerp (of één enkele kolom met de naam "waarde" wanneer de waarde een karakterreeks is in plaats van een voorwerp).

Ondersteunde veldtypes

  • Regelmatige velden (decimaal, bool, string)

  • JSON-voorwerp: zal gebruikt worden in de staat waarin het zich bevindt

  • Array:

    • Indien de reeks JSON-voorwerpen bevat, zal ze gebruikt worden in de staat waarin ze zich bevindt.

    • Indien de reeks strings bevat, zal een veld met meerdere waarden worden aangemaakt waarbij alle strings gescheiden zijn door een punt komma (";").

Aanmaak

Voor meer informatie over het toevoegen van een bestandsbron, zie Een bestand ophalen.

Configuratie

Configuratie

Naam

Omschrijving

Gebruik

Extraheer bestandsnaam

Maakt een nieuwe kolom aan met de naam van de bronbestand.

Standaard is deze optie niet aangevinkt. Vink deze optie aan om de bestandsnaam te extraheren in een toegevoegde kolom.

JSON root

ijson pad naar een JSON-reeks die de voorwerpen bevat die geëxtraheerd moeten worden als records van een dataset

ijson is een syntax om in JSON-voorwerpen te navigeren. Het bestaat uit het scheiden van attribuutnamen met puntjes (bijv. content.trains). Voor geavanceerde gebruikers zijn er extra functies beschikbaar.

Wanneer de JSON-array rechtstreeks aan het begin van het document staat, laat het vak JSON root dan leeg. Wanneer het JSON-bestand een JSON-voorwerp is, noteer dan het ijson-pad naar de reeks in het vak JSON root.

Naam sleutelveld

Label van de kolom "sleutel"

De standaard waarde is "sleutel". Noteer het nieuwe label van de kolom "sleutel" in het vak Naam sleutelveld. Hierdoor zal zowel het label als de technische identifier van de kolom worden gewijzigd.

Voorbeelden

Voorbeeld 1:

{
  "2016": {
    "type1": {
      "price": 10,
      "color": "blue",
      "available": true
    },
    "type2": {
      "price": 9,
      "color": "red",
      "available": true
    }
  },
  "2015": {
    "type1": {
      "price": 10.5,
      "color": "teal",
      "available": true
    },
    "type2": {
      "price": 9.1,
      "color": "crimson",
      "available": true
    }
  }
}

Wanneer u het vak JSON root leeg laat, zal de resulterende dataset de volgende zijn:

sleutel

type1 type2
2016 {"color": "blue", "available": true, "price": 10} {"color": "red", "available": true, "price": 9}
2015 {"color": "teal", "available": true, "price": 10.5} {"color": "crimson", "available": true, "price": 9.1}

Voorbeeld 2:

{
  "results": {
    "datasets": [{
        "abc": {
          "title": "A B C",
          "description": "A description about ABC"
        }
      },
      {
        "xyz": {
          "title": "D E F",
          "description": "Another description"
        }
      }
    ]
  }
}

Voor dit complexe JSON-bestand, is de correcte JSON root "results.datasets.item".

  • results.datasets leidt naar de reeks

  • item herhaalt binnen de reeks en krijgt elk voorwerp

sleutel

omschrijving

titel

abc

Een omschrijving over ABC

A B C
xyz

Een andere omschrijving

D E F