Referens > Funktioner > Textfunktioner > JSONSetElement
 
JSONSetElement
Användning 
Lägger till eller ändrar ett element i JSON-data som angetts av ett objektnamn, ett matrisindex eller en sökväg.
Format 
JSONSetElement(json ; nyckelEllerIndexEllerSökväg ; värde ; typ)
Parametrar 
json – ett textuttryck eller -fält som innehåller ett JSON-objekt eller -matris.
nyckelEllerIndexEllerSökväg – textuttryck eller -fält som specificerar ett JSON-objektnamn (nyckel), ett matrisindex eller en sökväg. Mer information finns i Arbeta med JSON-funktionerna.
värde – ett värde eller ett fält som innehåller ett tal, text eller JSON-data.
typ – ett namngivet värde som anger typen av data som ska ställas in (se nedan).
Returnerad datatyp 
text
Kommer från 
FileMaker Pro 16.0
Beskrivning 
Denna funktion returnerar json med värde inställt på angivet nyckelEllerIndexEllerSökväg. Om json-parametern är tom (""), lägger denna funktion till värde till ett JSON-objekt (inom parenteser { }), om inte den första delen av nyckelEllerIndexEllerSökväg-parametern inleds med tecknet "[". I detta fall lägger funktionen till värde till en JSON-matris (inom parentes [ ]).
För parametern typ använder du ett av följande namngivna värden för att ange datatypen i värde-parametern.
 
typ
Anger att värde är
JSONString
Sträng (" ")
JSONNumber
Tal
JSONObject
Objekt ({ })
JSONArray
Matris ([ ])
JSONBoolean
Booleskt
JSONNull
Null
JSONRaw
Bestäms av JSON-tolkaren
Om värde för JSONBoolean är true (med gemener), behandlas det som sant. Annars bestäms om värde är true eller false på samma sätt som för test-parametern i funktionen If.
För JSONRaw, bearbetas värde av JSON-tolken. Om värde är giltiga JSON-data, används det tolkade resultatet i denna funktions returnerade värde. Annars används värde som en JSON-sträng.
Du kan ställa in flera element genom att ange ytterligare nyckelEllerIndexEllerSökväg-, värde- och typ-parametrar i parenteser [ ] för varje element. Följande syntax ställer in N element på en gång:
JSONSetElement (json ;
   [ nyckelEllerIndexEllerSökväg1 ; värde1 ; typ1 ] ;
   [ nyckelEllerIndexEllerSökväg2 ; värde2 ; typ2 ] ;
   ...
   [ nyckelEllerIndexEllerSökvägN ; värdeN ; typN ]
)
Kommentar 
Denna funktion stöds inte i runtime-lösningar och returnerar "?".
Exempel 1 
Lägger till en nyckel och dess värde till roten i ett JSON-objekt.
JSONSetElement ("{ \"a\" : 11 }" ; "b" ; 22.23 ; JSONNumber) returnerar {"a":11,"b":22,23}.
Exempel 2 
Lägger till ett JSON-objekt som ett element i ett annat JSON-objekt. Om $$JSON-variabeln har värdet
{
"a" : {
"id" : 12,
"lnk" : 34
}
}
JSONFormatElements (
   JSONSetElement ($$JSON ; "b" ; "{ \"id\" : 14, \"lnk\" : 73 } " ;
      JSONObject
   )
)
returnerar
{
"a" :
{
"id" : 12,
"lnk" : 34
},
"b" :
{
"id" : 14,
"länk" : 73
}
}
Exempel 3 
Ändrar värdena för nycklarna "special" och "lager" i det första "produkt"-elementet i matrisen för de Exempel på JSON-data som finns i $$JSON-variabeln.
JSONFormatElements (
   JSONSetElement ($$JSON ;
   [ "bageri.produkt[0].special" ; 0 ; JSONBoolean ] ;
   [ "bageri.produkt[0].lager" ; 0 ; JSONNumber ]
   )
)
returnerar samma data som i $$JSON men med det första elementet i "produkt"-matrisen ändrat till
{
"kategori" : "Bröd",
"id" : "FB1",
"namn" : "Munkar",
"pris" : 1,99,
"special" : false,
"lager" : 0
}
Relaterade avsnitt 
Funktioner (efter kategori)
Funktioner (i bokstavsordning)
Om formler
Om funktioner
Definiera beräkningsfält
Använda operatorer i formler
Arbeta med JSON-funktionerna