Get ( 安装的 FM 插件为 JSON )
返回具有已安装插件属性的 JSON 对象。
格式
Get ( 安装的 FM 插件为 JSON )
参数
无
返回的数据类型
文本
原始版本
19.2.2
说明
此函数与 Get (安装的 FM 插件)函数,唯一的区别在于它是一个 JSON 对象,还包含其他信息。
在下面返回的 JSON 对象示例中,plugins
数组中有两个安装的插件。
复制
{
"APIVers":2,
"environment" :
{
"architecture" : "arm64",
"platform" :1,
"version" :"11.3"
},
"plugins":
[
{
"name":"MyPlugin1",
"id":"XM32",
"version":"1.0",
"state":"Enabled",
"filepath": "filemac:/HD/Users/user1/Library/Application Support/FileMaker/Extensions/MyPlugin1.fmplugin/",
"description":"This is a sample FileMaker plug-in."
},
{
"name":"MyPlugin2",
"id":"BO3B",
"version":"1.1.6x3422",
"state":"Disabled",
"filepath": "filemac:/HD/Users/user1/Library/Application Support/FileMaker/FileMaker Pro/20.0/Extensions/MyPlugin2.fmplugin/",
"description":"This is another FileMaker plug-in."
}
]
}
下表说明返回的 JSON 对象中的元素。
JSON 元素 | 说明 |
---|---|
APIVers | 此 JSON 对象的结构版本的数值。如果此 JSON 对象的结构在后续版本中有更改,此版本号也会更改。 版本 2:添加了 |
environment | 描述插件所在系统的对象。即使当前未安装插件也会返回。包括以下键:
|
plugins | 包含每个已安装插件的对象的数组。如果未安装插件,则值为 null。 |
name | 插件的名称 |
id | 插件的四字符 ID(请参阅关于控制文件间的插件访问) |
version | 显示为字符串的插件版本 |
state | 插件当前是否在“首选项”中启用并加载:
|
filepath | FileMaker 格式的插件文件路径(请参阅创建文件路径) |
description | 插件的说明 |
名称、版本和说明是插件开发商在插件的资源文件 (Windows) 或 info.plist 文件 (macOS) 中提供的值。
示例 1
返回已安装的插件数。
复制
ValueCount ( JSONListKeys ( Get ( InstalledFMPluginsAsJSON ) ; "plugins" ) )
示例 2
返回插件的版本号,包含 $$id
变量指定的 ID。对于返回上述示例 JSON 对象的系统,以下计算将返回 1.0(如果 $$id
为 "XM32")。
复制
While (
[
plugin_json = Get ( InstalledFMPluginsAsJSON ) ;
total = ValueCount ( JSONListKeys ( plugin_json ; "plugins" ) ) ;
index = 0 ;
version = ""
] ;
index < total ;
[
version = If ( JSONGetElement ( plugin_json ; "plugins[" & index & "].id" ) = $$id ;
JSONGetElement ( plugin_json ; "plugins[" & index & "].version" ) ; "" ) ;
index = If ( version = "" ; index + 1 ; total )
] ;
version
)