JSONSetElement
Doel
Voegt een element in JSON-gegevens, dat is opgegeven door een objectnaam, een array-index of een pad, toe of wijzigt het.
Opmaak
JSONSetElement (json ; SleutelOfIndexOfPad ; waarde ; type)
Parameters
json - een tekstuitdrukking of een veld dat een JSON-object of een array bevat.
SleutelOfIndexOfPad - een tekstuitdrukking of een veld dat een JSON-objectnaam (sleutel), een array-index of een pad opgeeft. Raadpleeg
Werken met de JSON-functies.
waarde - een uitdrukking of een veld dat een getal, tekst of JSON-gegevens bevat.
type - een waarde dat het in te stellen type gegevens opgeeft (zie hieronder).
Resulterend gegevenstype
tekst
Afkomstig van
FileMaker Pro 16.0
Beschrijving
Deze functie geeft als resultaat json met waarde ingesteld op het opgegeven SleutelOfIndexOfPad. Als de json-parameter leeg is (""), voegt deze functie waarde toe aam een JSON-object (tussen accolades { }), tenzij het eerste deel van de parameter SleutelOfIndexOfPad begint met een het teken "[". In dat geval voegt deze functie waarde toe aan een JSON-array (tussen vierkante haakjes [ ]).
Voor de parameter type gebruikt u een van de volgende waarden om het type gegevens in de parameter waarde op te geven.
type | waarde is |
JSONString | Tekenreeks (" ") |
JSONNumber | Getal |
JSONObject | Object ( { } ) |
JSONArray | Array ( [ ] ) |
JSONBoolean | Logische waarde |
JSONNull | Null |
JSONRaw | Te bepalen door de JSON-parser |
Voor
JSONBoolean, als
waarde true (in kleine letters) is, wordt het behandeld als waar. Anders wordt bepaald of
waarde true of false is op dezelfde manier als de parameter
test in de
If functie.
In het geval van JSONRaw wordt waarde verwerkt door de JSON-parser. Als waarde geldige JSON-gegevens is, wordt het geparseerde resultaat gebruikt in de gegeven waarde van deze functie. Anders wordt waarde als een JSON-tekenreeks gebruikt.
U kunt meerdere elementen instellen door een extra reeks parameters (SleutelOfIndexOfPad, waarde en type) tussen vierkante haakjes [ ] voor elk element op te geven. De volgende syntaxis stelt N elementen tegelijk in:
JSONSetElement (json ;
[SleutelOfIndexOfPad1 ; waarde1 ; type1] ;
[SleutelOfIndexOfPad2 ; waarde2 ; type2] ;
...
[SleutelOfIndexOfPadN ; waardeN ; typeN]
)
Opmerkingen
•Deze functie wordt niet ondersteund in runtime-oplossingen en geeft als resultaat "?".
Voorbeeld 1
Voegt een sleutel en de waarde ervan toe aan de root van een JSON-object.
JSONSetElement ("{ \"a\" : 11}" ; "b" ; 22,23 ; JSONNumber) geeft als resultaat {"a":11,"b":22,23}.
Voorbeeld 2
Voegt een JSON-object als een element van een ander JSON-object toe. Als de $$JSON-variabele is ingesteld op
{
"a" : {
"id" : 12,
"lnk" : 34
}
}
dan geeft
JSONFormatElements (
JSONSetElement ($$JSON ; "b" ; "{ \"id\" : 14, \"lnk\" : 73} " ;
JSONObject
)
)
als resultaat
{
"a" :
{
"id" : 12,
"lnk" : 34
},
"b" :
{
"id" : 14,
"koppeling" : 73
}
}
Voorbeeld 3
Wijzigt in de
Voorbeeld van JSON-gegevens van de $$JSON-variabele de waarden van de sleutels "speciaal" en "voorraad" in het eerste "product"-element in de array.
JSONFormatElements (
JSONSetElement ($$JSON ;
["bakkerij.product[0].speciaal" ; 0 ; JSONBoolean] ;
["bakkerij.product[0].voorraad" ; 0 ; JSONNumber]
)
)
geeft als resultaat dezelfde gegevens als in $$JSON maar met het eerste element van de "product"-array gewijzigd in
{
"categorie" : "Broden",
"id" : "FB1",
"naam" : "Donuts",
"prijs" : 1,99,
"speciaal" : false,
"voorraad" : 0
}
Verwante onderwerpen