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¶
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. |
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¶
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¶
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 reeksitem
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 |