参考 > 函数参考 > 文本函数 > JSONSetElement
 
JSONSetElement
目的 
在 JSON 数据中添加或修改由对象名、数组索引或路径指定的元素。
格式 
JSONSetElement ( json ; 键或索引或路径 ; 值 ; 类型 )
参数 
json - 包含 JSON 对象或数组的文本表达式或字段。
键或索引或路径 - 指定 JSON 对象名(键)、数组索引或路径的文本表达式或字段。请参阅使用 JSON 函数
- 包含数字、文本或 JSON 数据的表达式或字段。
类型 - 指定要设置的数据类型的命名值(参阅下文)。
返回的数据类型 
文本
源于 
FileMaker Pro 16.0
说明 
此函数返回 json设置为指定的键或索引或路径。如果 json 参数是空白 (""),此函数会向 JSON 对象添加(在括号 { } 中),除非键或索引或路径参数的第一部分以“[”字符开始。此时,此函数向 JSON 数组(在括号 [ ] 中)添加
对于类型参数,使用以下命名值之一在参数中指定数据类型。
 
类型
指定的
JSONString
字符串 (" ")
JSONNumber
数字
JSONObject
对象 ( { } )
JSONArray
数组 ( [ ] )
JSONBoolean
布尔值
JSONNull
Null
JSONRaw
由 JSON 分析器确定
对于 JSONBoolean,如果true(小写),而将其视为 true。否则,按 If 函数test 参数的方式来确定为 true 还是 false。
对于 JSONRaw由 JSON 分析器来处理。如果是有效的 JSON 数据,此函数的返回值中会使用分析得出的结果。否则,用作 JSON 字符串。
可以在括号 [ ] 中为每个元素再提供一组键或索引或路径类型参数,从而设置多个元素。以下语法一次设置 N 个元素:
JSONSetElement ( json ;
   [ 键或索引或路径1 ; 值1 ; 类型1 ] ;
   [ 键或索引或路径2 ; 值2 ; 类型2 ] ;
   ...
   [ 键或索引或路径N ; 值N ; 类型N ]
)
注释 
Runtime 解决方案不支持此函数,会返回“?”。
示例 1 
向 JSON 对象的根添加一个键及其值。
JSONSetElement ( "{ \"a\" : 11 }" ; "b" ; 22.23 ; JSONNumber ) 返回“{"a":11,"b":22.23}”。
示例 2 
添加一个 JSON 对象作为另一个 JSON 对象的元素。如果 $$JSON 变量设置为
{
"a" : {
"id" : 12,
"lnk" : 34
}
}
JSONFormatElements (
   JSONSetElement ( $$JSON ; "b" ; "{ \"id\" : 14, \"lnk\" : 73 } " ;
      JSONObject
    )
)
返回
{
"a" :
{
"id" : 12,
"lnk" : 34
},
"b" :
{
"id" : 14,
"link" : 73
}
}
示例 3 
在 $$JSON 变量中存储的JSON 数据示例中,更改数组中第一个“产品”元素的“特价”和“现货”键的值。
JSONFormatElements (
   JSONSetElement ( $$JSON ;
   [ "面包店.产品[0].特价" ; 0 ; JSONBoolean ] ;
   [ "面包店.产品[0].现货" ; 0 ; JSONNumber ]
    )
)
返回的数据与“产品”数组的第一个元素经如下更改后的 $$JSON 相同
{
"类别" : "面包",
"id" : "FB1",
"名称" : "面包圈",
"价格" : 1.99,
"特价" : false,
"现货" : 0
}
相关主题 
函数参考(类别列表)
函数参考(按字母数字顺序排序的列表)
关于公式
关于函数
定义计算字段
在公式中使用运算符
使用 JSON 函数