Ga naar inhoud

JSON-schema lezen


menno

Aanbevolen berichten

Ik doe op het ogenblik megaveel api-koppelingen maken vanuit FM. Sommige aanbieders van die API's geven je dan een mooi JSON-schema maar als je bijvoorbeeld het schema van de PostNL location API bekijkt dan is het handig om in een oogopslag de beschikbare objecten en hun inhoud te zien en te gebruiken.

Vandaar dat ik een tooltje in elkaar heb geknutseld om me daar wat bij te helpen en ik denk dat sommigen van jullie het ook wel handig zouden kunnen vinden :-)

JSONSchemaReader.fmp12

Link naar reactie
6 hours ago, Marsau said:

Ik zag wel dat bepaalde Json objecten wel keys opleveren, maar geen inhoud.

Geef even een voorbeeldje als je dat tegenkomt, dan kan ik er wat over zeggen. De tool zoals ik die hier heb ge-upload is heel rudimentair. Echte JSON-readers (zoals bijv. oxygen) kunnen kleine fouten opvangen en herkenbaar maken. FMP wil 100% well-formed hebben en doet niks als een JSON niet aan de regels voldoet.

Link naar reactie

Kijk, dit kan je bijvoorbeeld terugkrijgen van de FileMaker Data API:

[
	{
		"fieldData" : 
		{
			"Json_Line" : "{\"Description\":\"Ding1\",\"Base\":\"555\",\"ID\":\"9081A4CE-8460-4A43-A5A5-090C43FF349E\",\"Label\":\"Pakket 11\",\"Artnr\":\"017-0010034\",\"Quantity\":45,\"Level\":7000,\"itemuuid\":\"7C7D2204-C180-4ADF-82DE-0F2C774AAE92\"}"
		},
		"modId" : "62303",
		"portalData" : {},
		"recordId" : "3"
	}
]

En dan een hele reeks natuurlijk. Als je het geneste object in beeld hebt, zoekt ie niet verder (maar geeft wel de keys weer).

In de scripts stuit je op iets soortgelijks. Ik los dat dan op door weer een JSONgetelement op het object toe te passen.

Link naar reactie

Verbaasd me niet dat dit niet herkend wordt.

De Json_Line is vermoed ik een veld in je database waar je zelf JSON ingezet hebt? Ik heb het eerder gezien. Eigenlijk zouden we een (text)object moeten kunnen markeren zodat je kunt aangeven dat het JSON-content heeft.

De reden waarom je dit krijgt is omdat de API het ziet als ‘gewone’ tekst, het kan geen onderscheid maken op basis van de inhoud.

Link naar reactie
14 hours ago, Marsau said:

Kijk, dit kan je bijvoorbeeld terugkrijgen van de FileMaker Data API:

[
	{
		"fieldData" : 
		{
			"Json_Line" : "{\"Description\":\"Ding1\",\"Base\":\"555\",\"ID\":\"9081A4CE-8460-4A43-A5A5-090C43FF349E\",\"Label\":\"Pakket 11\",\"Artnr\":\"017-0010034\",\"Quantity\":45,\"Level\":7000,\"itemuuid\":\"7C7D2204-C180-4ADF-82DE-0F2C774AAE92\"}"
		},
		"modId" : "62303",
		"portalData" : {},
		"recordId" : "3"
	}
]

En dan een hele reeks natuurlijk. Als je het geneste object in beeld hebt, zoekt ie niet verder (maar geeft wel de keys weer).

In de scripts stuit je op iets soortgelijks. Ik los dat dan op door weer een JSONgetelement op het object toe te passen.

De inhoud van het object Json_Line is geen object noch een array, dus wordt dat als tekst behandeld. Gaat je alleen lukken als je in FileMaker:

Evaluate ( JSONGetElement ( json ; "Json_Line" ) )

gebruikt.

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Antwoord op deze discussie...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...