Ga naar inhoud

dot.keys in json instellen en uitlezen


menno

Aanbevolen berichten

Zojuist weer een Meetup geweest met een aantal FileMaker-ontwikkelaars. Daar is de nieuwe 19.3 versie van FM ter sprake gekomen. Één van de punten die ter sprake kwam waren aangepaste functies JSONGetElement en JSONSetElement. Deze functies kunnen nu ook omgaan met keys waarin een punt in de naam staat.

Ik heb even een voorbeeldje gemaakt, want de documentatie van FM zelf is wel erg summier:

Let ( [ 
	json = JSONFormatElements ( 
			JSONSetElement ( "" ; 
				[ "bakery.product[0]['product.id']" ; "dotvalue in array" ; JSONstring ] ; 
				[ "article['product.id']" ; "dotvalue in subobject" ; JSONstring ] ; 
				[ ".['product.id']" ; "dotvalue in root-object" ; JSONstring ] ) ) ; 
	result = List ( 
				JSONGetElement ( json ; "bakery.product[0]['product.id']" ) ; 
				JSONGetElement ( json ; "article['product.id']" ) ; 
				JSONGetElement ( json ; ".['product.id']" ) ) 
] ; 
	List ( json ; result ) 
)

Dit geeft in versie 19.3.1 als resultaat:

{
	"article" : 
	{
		"product.id" : "dotvalue in subobject"
	},
	"bakery" : 
	{
		"product" : 
		[
			{
				"product.id" : "dotvalue in array"
			}
		]
	},
	"product.id" : "dotvalue in root-object"
}
dotvalue in array
dotvalue in subobject
dotvalue in root-object

Ter vergelijking met alle oudere versies (dus 19.2.2 en ouder):

? * Line 1, Column 1
  Syntax error: value, object or array expected.
* Line 1, Column 3
  Extra non-whitespace after JSON value.
? * Line 1, Column 1
  Syntax error: value, object or array expected.
* Line 1, Column 3
  Extra non-whitespace after JSON value.
? * Line 1, Column 1
  Syntax error: value, object or array expected.
* Line 1, Column 3
  Extra non-whitespace after JSON value.
? * Line 1, Column 1
  Syntax error: value, object or array expected.
* Line 1, Column 3
  Extra non-whitespace after JSON value.

 

Link naar reactie
  • menno wijzigde de titel naar dot.keys in json instellen en uitlezen

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