В этом примере показано, как настроить 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 сигнатура, которая принимает объект класса в качестве входных данных и возвращает строку или вектор символов в формате JSON.
Отображение настраиваемого объекта.
obj = Person('Luke',19);
jsonencode(obj)
ans =
'{"Name":"Luke","Age":19}'