exponenta event banner

mps.json.encoderequest

Преобразование данных MATLAB в серверном запросе в текст JSON с использованием схемы JSON производственного сервера MATLAB

Описание

пример

text = mps.json.encoderequest(rhs) кодирует запрос, который вводится в развернутую функцию MATLAB ® с использованием схемы JSON для Server™ MATLAB Production. Он создает запрос сервера, который включает переменные и параметры MATLAB, такие как'Nargout' и 'OutputFormat', которые необходимы для вызова производственного сервера MATLAB.

пример

text = mps.json.encoderequest(rhs,Name,Value) указывает дополнительные параметры с одним или несколькими аргументами пары имя-значение для определенных вариантов ввода.

Примеры

свернуть все

mps.json.encoderequest({[1 2 3 4]})
ans =
    '{"rhs":[[[1,2,3,4]]],"nargout":1,"outputFormat":{"mode":"small","nanType":"string"}}'

Давайте rhs = {['Red'], [15], [1 3; 5 7], ['Green']}.

mps.json.encoderequest(rhs, 'Nargout', 3, 'OutputFormat', 'large')
ans =
    '{"rhs":["Red",15,[[1,3],[5,7]],"Green"],"nargout":3,"outputFormat":{"mode":"large","nanType":"string"}}'

Использование функции MATLAB horzcat что горизонтально объединяет две матрицы.

a = [1 2; 5 6];
b = [3 4; 7 8];
mps.json.encoderequest({horzcat(a,b)})
ans =
    '{"rhs":[[[1,2,3,4],[5,6,7,8]]],"nargout":1,"outputFormat":{"mode":"small","nanType":"string"}}'

Выполнить mps.json.encoderequest и mps.json.decoderesponse вызов функции, развернутой на производственном сервере MATLAB с использованием webwrite. В этом случае имена студентов и их соответствующие оценки развертываются на производственном сервере MATLAB на sortstudents функция, которая сортирует студентов на основе их баллов. Возвращенный результат эквивалентен вызову функции sortstudents(struct('name', 'Ed', 'score', 83), struct('name', 'Toni', 'score', 91)) от MATLAB.

data = {struct('name', 'Ed', 'score', 83), struct('name', 'Toni', 'score', 91)};
body = mps.json.encoderequest(data);

options = weboptions;

% Create a weboptions object that instructs webread to return JSON text
options.ContentType = 'text';

% Create a weboptions object that instructs webwrite to encode character vector data as JSON to post it to a web service
options.MediaType = 'application/json';    

response = webwrite('http://localhost:9910/studentapp/sortstudents', body, options);

result = mps.json.decoderesponse(response);

Входные аргументы

свернуть все

Входные аргументы для функции MATLAB, развернутой на производственном сервере MATLAB, который вызывается, указывается как вектор ячейки.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: mps.json.encoderequest(rhs, 'Format', 'large')

Число выходных аргументов для функции, развернутой на производственном сервере MATLAB, указанное как разделенная запятыми пара, состоящая из 'Nargoutи количество выходных аргументов.

mps.json.encoderequest(rhs, 'Nargout', 3).

Формат для кодирования rhs, указанная как разделенная запятыми пара, состоящая из 'Format«и формат»small«или»large'.

small формат является более простым представлением типов данных MATLAB в JSON, тогда как large формат является более универсальным представлением. Дополнительные сведения см. в разделе JSON Представление типов данных MATLAB.

Формат для кодирования NaN, Inf, -Inf в rhs, указанная как разделенная запятыми пара, состоящая из 'NaNInfType«и типы данных JSON»string«и»object'.

Формат ответа от функции MATLAB, развернутой на производственном сервере MATLAB, указанный как разделенная запятыми пара, состоящая из 'OutputFormat«и формат»small«или»large'.

Формат вывода задается с помощью mps.json.encoderequest(rhs, 'OutputFormat', 'large').

Тип ответа от функции MATLAB, развернутой на производственном сервере MATLAB, содержащем NaN, Inf, -Inf, указанная как разделенная запятыми пара, состоящая из 'OutputNaNInfType«и тип данных JSON»string«и»object'.

Тип NaN для выходного ответа устанавливается с помощью mps.json.encoderequest(rhs, 'OutputNaNInfType', 'object').

Формат text для удобочитаемости указывается как пара, разделенная запятыми, состоящая из 'PrettyPrint«и логический»true«или»false'. Синтаксис: mps.json.encoderequest(rhs,'PrettyPrint',true).

Выходные аргументы

свернуть все

Текст в формате JSON для схемы JSON для производственного сервера MATLAB, возвращаемый в виде символьного вектора.

Представлен в R2018a