В этом примере показано, как настроить 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 блок класса Person:
classdef Person properties Name; end properties (Access = private) Age; end methods function obj = Person(name,age) obj.Name = name; obj.Age = age; end end function json = jsonencode(obj, varargin) s = struct("Name", obj.Name, "Age", obj.Age); json = jsonencode(s, varargin{:}); end end
Подпись функции должна соответствовать jsonencode подпись, которая берет объект класса в качестве входа и возвращает строку или вектор символов в формате JSON.
Отобразите индивидуально настраиваемый объект.
obj = Person('Luke',19);
jsonencode(obj)
ans =
'{"Name":"Luke","Age":19}'