主要内容

MATLABJSON中的函数签名

用于RESTful客户端获取MATLAB的函数签名®部署到的功能MATLAB生产服务器使用发现API,在打包可部署归档时,必须将有关MATLAB函数的信息嵌入到JSON文件中。

添加MATLAB函数后将其部署到生产服务器编译器应用程序,在包含MATLAB函数签名文件部分,选择创建文件按钮。该操作将创建具有该名称的JSON文件的模板< projectName >functionSignatures.json

< projectName >functionSignatures.jsonfile是一个JSON对象。的模式版本和列表函数对象.每个函数对象包含的列表签名的对象,每个签名对象包含的列表参数对象

如果你的MATLAB函数有结构体细胞作为输入或输出的数据类型,您可以使用类型的对象

JSON文件不支持添加描述金宝appdatetime而且枚举值,尽管您的MATLAB函数可以将这些数据类型作为输入或输出。

方法可以从服务器访问JSON对象文件发现服务

警告

validateFunctionSignaturesJSON(MATLAB)函数不支持验证金宝appMATLAB制作服务器< projectName >functionSignatures.json

函数签名JSON文件的例子。

模式版本有一个JSON字符串格式的值<主要# >,<小# >。<补丁# >,其中每个数字必须是非负整数。

函数对象

函数对象自动从添加到项目中的MATLAB函数的名称继承它们的名称。函数对象的目的行继承自MATLAB函数中提供的函数描述。每个函数对象的值都是一个签名对象。

{"functionName1": {signatureObj1}, "functionName2": {signatureObj2}}

签名的对象

签名对象定义了函数的输入和输出参数列表以及支持的平台。金宝app属性的值是一个参数对象数组。

{"functionName1": {"inputs": [argumentObj1, argumentObj2]}}
每个签名可以包括以下属性。

财产 描述 JSON值的数据类型

输入

函数输入参数列表

参数对象数组

输出

函数输出参数列表

参数对象数组

参数对象

参数对象为每个输入和输出参数定义信息。

{" functionName1 ":{“输入”:[{“名称”:“三机”,“类型”:“替身”,“目的”:“< >输入1描述"},{"名称":“in2”,“类型”:“逻辑”,“目的”:“< >输入2描述"}]}}
输入在JSON文件中出现的顺序很重要。例如,在调用functionName1函数,三机一体必须出现在in2

每个参数对象可以包括以下属性。

的名字,参数名称

类型,参数的数据类型

尺寸- - -阵列尺寸

目的- - - - - -参数描述

类型的对象

typedef对象定义单元格数组和结构。只有当参数对象的值是单元格或结构时,才添加typedef对象。JSON文件模板生产服务器编译器App generate默认没有这个对象。

在模式中,使用名称指示typedef对象_typedefs将其值作为一个或多个单元格或结构对象的名称。类型与参数对象相同。

使用同构单元阵列的例子:如果是MATLAB函数sortinput接收一个单元格数组作为输入并返回一个单元格数组作为输出,输入中的每个单元格都由一个结构组成,其JSON表示如下所示。

{" _schemaVersion": "1.1.0", "_typedefs": {" struct_names_scores_of_students": {" purpose": "name": "name"," type": "struct", "fields": [{"name": "name"," type": "char"}, {"name": "Score", "type": ["double","size=1,1"]}]}," cell_student_information": {" purpose": "Cell表示学生信息"," type": "Cell "," elements": {" type": "struct:struct_names_scores_of_students"}}}, "sortinput": {" inputs": [{"name": "unsorted_input", "type": "type": "Cell "," elements": {" type": "struct:struct_names_scores_of_students"}}}, "sortinput": {" inputs": [{"name": "unsorted_input", "type": "fields": [{"name": "unsorted_input":["cell:cell_student_information"], "purpose": "未排序的学生和分数列表"}],"outputs": [{"name": "sorted_output", "type": ["cell:cell_student_information"], "purpose": "已排序的学生分数列表"}]}}

使用异构Cell阵列示例:如果是MATLAB函数组织接受一个长度为3的单元格数组,其中包含一个字符、一个方阵和一个字符串作为输入,并返回一个双精度的向量作为输出,其JSON表示如下所示。

{"_typedefs": {"cell_het_mydata": {"purpose": "包含字符、矩阵和字符串的单元格"," type": "cell", "size=1,1"], "purpose": "单元格元素1为字符"},{"type": ["double", "size=N,N"], "purpose": "单元格元素2为方阵"},{"type": "char", "purpose": "cell元素3为字符串"}]},"organize": {"inputs": [{"name": "data", "type": ["cell:cell_het_mydata","size=3,1"], "purpose": "异构单元格数组"}],"outputs":[{"name": "分子","type": "double", "purpose": "函数结果"}]}}

相关的话题