В этом примере показано, как настроить jsonencode
функция для определяемого пользователем MATLAB® класс.
Этот класс Person.m
имеет общественную собственность Name
и частную собственность Age
. Если вы звоните jsonencode
для кодирования данных функция преобразует только общественную собственность.
classdef Person properties Name; end properties (Access = private) Age; end methods function obj = Person(name,age) obj.Name = name; obj.Age = age; end end end
Отображение закодированного в JSON образца Person
.
obj = Person('Luke',19);
jsonencode(obj)
ans = '{"Name":"Luke"}'
Чтобы отобразить частную собственность Age
, настроить jsonencode
путем добавления этой функции к methods
блок:
function json = jsonencode(obj) s = struct("Name", obj.Name, "Age", obj.Age); json = jsonencode(s); end
Подпись функции должна совпадать с jsonencode
signature, который принимает объект класса за вход и возвращает строку или вектор символов в формате JSON.
Отобразите настроенный объект.
obj = Person('Luke',19);
jsonencode(obj)
ans = '{"Name":"Luke","Age":19}'