Jump to content

dot.keys in json instellen en uitlezen


Recommended Posts

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 to comment
  • menno changed the title to dot.keys in json instellen en uitlezen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...