Referencia > Referencia de funciones > Funciones de texto > JSONSetElement
 
JSONSetElement
Propósito 
Añade o modifica un elemento de datos de JSON especificado por un nombre de objeto, un índice de matriz o una ruta.
Formato 
JSONSetElement(json;keyOrIndexOrPath;valor;tipo)
Parámetros 
json: cualquier expresión o campo de texto que contenga un objeto o una matriz de JSON.
keyOrIndexOrPath: cualquier expresión o campo de texto que especifique un nombre de objeto (clave), un índice de matriz o una ruta de JSON. Consulte Uso de las funciones de JSON.
valor: cualquier expresión o campo de texto que contenga un número, texto o datos de JSON.
tipo: un valor con nombre que especifica el tipo de datos que se va a establecer (consulte la información mostrada a continuación).
Tipo de datos devuelto 
texto
Se origina en 
FileMaker Pro 16.0
Descripción 
Esta función devuelve json con un valor establecido en el parámetro keyOrIndexOrPath especificado. Si el parámetro json se deja en blanco (""), esta función añade un valor a un objeto de JSON (entre llaves { }), a menos que la primera parte del parámetro keyOrIndexOrPath empiece con el carácter "[". En ese caso, esta función añade un valor a una matriz de JSON (entre corchetes [ ]).
Para el parámetro tipo, utilice uno de los siguientes valores con nombre para especificar el tipo de datos del parámetro valor.
 
tipo
valor especificado
JSONString
Cadena (" ")
JSONNumber
Número
JSONObject
Objeto ( { } )
JSONArray
Matriz ( [ ] )
JSONBoolean
Valor booleano
JSONNull
Valor nulo
JSONRaw
Se determina en función del analizador de JSON
En JSONBoolean, si el valor es true (en minúsculas), se trata como verdadero. De lo contrario, si el valor es "true" (verdadero) o "false" (falso), se determina igual que si el parámetro prueba se encontrase en la función If.
En JSONRaw, el analizador de JSON proceso el valor. Si el valor son datos de JSON válidos, el resultado analizado se utiliza en el valor devuelto de esta función. De lo contrario, el valor se utiliza como cadena de JSON.
Puede establecer varios elementos proporcionando un conjunto adicional de parámetros keyOrIndexOrPath, valor, y tipo entre corchetes, "[ ]", para cada elemento. La siguientes sintaxis establece N elementos a la vez:
JSONSetElement ( json ;
   [ keyOrIndexOrPath1 ; valor1 ; tipo1 ] ;
   [ keyOrIndexOrPath2 ; valor2 ; tipo2 ] ;
   ...
   [ keyOrIndexOrPathN ; valorN ; tipoN ]
)
Notas 
Esta función no se admite en las soluciones de tiempo de ejecución y devuelve "?".
Ejemplo 1 
Añade una clave y su valor a la raíz de un objeto de JSON.
JSONSetElement ( "{ \"a\" : 11 }" ; "b" ; 22.23 ; JSONNumber ) devuelve {"a":11,"b":22.23}.
Ejemplo 2 
Añade un objeto de JSON como elemento de otro objeto de JSON. Si la variable $$JSON se ha establecido en
{
"a" : {
"id" : 12,
"lnk" : 34
}
}
then
JSONFormatElements (
   JSONSetElement ( $$JSON ; "b" ; "{ \"id\" : 14, \"lnk\" : 73 } " ;
      JSONObject
   )
)
devuelve
{
"a" :
{
"id" : 12,
"lnk" : 34
},
"b" :
{
"id" : 14,
"link" : 73
}
}
Ejemplo 3 
En los Datos de JSON de ejemplo almacenados en la variable $$JSON variable, cambia los valores de las claves "especialidad" y "existencias" del primer elemento "producto" de la matriz.
JSONFormatElements (
   JSONSetElement ( $$JSON ;
   [ "producto.panadería[0].especialidad" ; 0 ; JSONBoolean ] ;
   [ "producto.panadería[0].existencias" ; 0 ; JSONNumber ]
   )
)
devuelve los mismos datos en $$JSON, pero con el primer elemento de la matriz "producto" modificado como
{
"categoría" : "Panes",
"id" : "FB1",
"nombre" : "Rosquillas",
"precio" : 1,99,
"especialidad" : false,
"existencias" : 0
}
Temas relacionados 
Referencia de funciones (lista de categorías)
Referencia de funciones (orden alfabético)
Acerca de las fórmulas
Notas acerca de las funciones
Definir campos de cálculo
Operadores en fórmulas
Uso de las funciones de JSON