Представление JSON типов данных MATLAB

JavaScript Object Notation или JSON - текстовый формат обмена данными, который может использоваться на разных языках программирования. Поскольку JSON не зависит от языка программирования, можно представлять MATLAB® типы данных в JSON. Используя представление JSON типов данных MATLAB, можно

  • Представление данных или переменных в коде клиента, которые служат входами в функцию MATLAB, развернутую на сервере.

  • Проанализируйте ответ от образца MATLAB Production Server™ для дальнейшей манипуляции в коде клиента.

Ответ от сервера содержит JSON array, где каждый элемент массива соответствует выходу развернутой функции MATLAB, представленной в виде JSON object.

Можно представлять типы данных MATLAB в JSON с помощью двух форматов обозначения: малого и большого.

  • Малое обозначение обеспечивает упрощенное представление типов данных MATLAB в JSON. Существует взаимно-однозначное отображение между типами данных MATLAB и их соответствующим представлением JSON. Можно использовать маленькое обозначение для представления скалярных и многомерных double и logical типы данных, скаляр и 1-by-N char тип данных и скалярные struct.

  • Большое обозначение обеспечивает общее представление типов данных MATLAB в JSON. В большом формате используется JSON object обозначение, состоящая из пар "имя-значение" свойства, для представления данных. Вы можете использовать большое обозначение для любого типа данных MATLAB, который не может быть представлен в малом обозначении. В ответе от MATLAB Production Server по умолчанию используется большое обозначение.

A JSON- object в большом обозначении содержатся следующие пары "имя-значение" свойства.

Имя свойстваЗначение свойства
"mwdata"JSON- array представление фактических данных. Задайте значение свойства, заключив данные в разделенный списками , разделенными запятыми внутри [] .
"mwsize"JSON- array представление размерностей данных. Задайте значение свойства, заключая размерности в разделенный списками , разделенными запятыми внутри [].
"mwtype"

JSON- string представляющий тип данных. Задайте значение свойства в "".

 "double"  |  "single"  | "int8"   |  
 "uint8"   |  "int16"   | "uint16" | 
 "int32"   |  "uint32"  | "int64"  | 
 "uint64"  |  "logical" | "char"   | 
 "struct"  |  "cell"    | "string" | 
 "datetime"|  "<class name of enumeration>" 

"mwcomplex"Для комплексных чисел установите значение свойства JSON true.

MATLAB Compiler SDK™ предоставляет следующие служебные функции для преобразования данных между MATLAB и JSON.

Имя функцииЦель
mps.json.encoderequest (MATLAB Compiler SDK)Преобразуйте данные MATLAB в запросе сервера в текст JSON с помощью схемы JSON MATLAB Production Server.
mps.json.decoderesponse (MATLAB Compiler SDK)Преобразуйте текст JSON из ответа сервера в данные MATLAB.
mps.json.encode (MATLAB Compiler SDK)Преобразуйте данные MATLAB в текст JSON с помощью схемы JSON MATLAB Production Server.
mps.json.decode (MATLAB Compiler SDK)Преобразуйте вектор символов или строку в схеме JSON MATLAB Production Server в данные MATLAB.

RESTful API поддерживает следующие типы данных MATLAB.

Числовые типы: double, single и целые числа

  • The mwdata свойство должно быть массивом JSON с номерами JSON.

  • The mwtype свойство может быть любым из double, single, int8, uint8, int16, uint16, int32, uint32, int64, uint64.

  • Вы не можете представлять скалярные или многомерные single и целые типы с использованием JSON малого обозначения.

  • Начиная с R2020a, int64 и uint64 числа поддерживают точность и область значений в своем представлении JSON, так как они не преобразованы в double.

Скалярные числовые типы: double, single и целые числа

  • The mwdata свойство должно быть массивом JSON, содержащим одно число JSON, представляющее скалярное значение MATLAB.

  • The mwsize свойство должно быть массивом JSON, содержащим 1,1.

Представление JSON Скаляра числовых типов: double, single и целые числа

Тип данных MATLABJSON Малое обозначениеJSON Большое обозначение

single, int8, uint8, int16, uint16,

int32, uint32, int64, uint64

Нет маленького представления
{
    "mwdata": [JSON number],
    "mwsize": [1,1],
    "mwtype": "single" | "int8" | "uint8"  | "int16" | "uint16" | 
             "int32" | "uint32" | "int64" | "uint64"
}
doubleНомер JSON
{
    "mwdata": [JSON number],
    "mwsize": [1,1],
    "mwtype": "double" 
}

Данные MATLAB: скалярные числа

JSON Малое обозначениеJSON Большое обозначение
int8(23)Нет маленького представления
{
    "mwdata": [23],
    "mwsize": [1,1],
    "mwtype": "int8"
}
uint8(27)Нет маленького представления
{
    "mwdata": [27],
    "mwsize": [1,1],
    "mwtype": "uint8"
}
single(20.15)Нет маленького представления
{
    "mwdata": [20.15],
    "mwsize": [1,1],
    "mwtype": "single"
}
intmax('int64')Нет маленького представления
{
    "mwdata": [9223372036854775807],
    "mwsize": [1,1],
    "mwtype": "int64"
}
double(12.905)12.905
{
    "mwdata": [12.905],
    "mwsize": [1,1],
    "mwtype": "double" 
}
4242
{
    "mwdata": [42],
    "mwsize": [1,1],
    "mwtype": "double" 
}

Многомерные числовые типы: double, single и целые числа

  • The mwdata свойство должно быть массивом JSON, содержащим данные из многомерных массивов в основном порядке столбцов. Это упорядоченное расположение соответствует размещению памяти в MATLAB.

  • Вы должны представлять double массивы, кроме N-by-1 double массивы с вложенными массивами JSON при использовании малого обозначения

  • Вы не можете представлять многомерные single и целые типы с использованием JSON малого обозначения.

Данные MATLAB: многомерные double Массив

JSON Малое обозначениеJSON Большое обозначение
[1,2,3;...
 4,5,6]
[[1,2,3],[4,5,6]]
{
    "mwdata":[1,4,2,5,3,6],
    "mwsize":[2,3],
    "mwtype":"double"
}
[1, NaN, -Inf;...
 2, 105,  Inf]
[[1,{"mwdata": "NaN"},{"mwdata": "-Inf"}],[2,105,{"mwdata": "Inf"}]]
{
    "mwdata":[1, 2, "NaN", 105, "-Inf", "Inf"],
    "mwsize":[2,3],
    "mwtype":"double"
}
[ 1 2; 4 5; 7 8 ]
[[1, 2], [4, 5], [7, 8]]
{
    "mwdata":[1,4,7,2,5,8],
    "mwsize":[3,2],
    "mwtype":"double"
}
a(:,:,1) =
 
     1     2
     3     4
     5     6
 
a(:,:,2) =
 
     7     8
     9     10
     11    12
[[[1,7],[2,8]],[[3,9],[4,10]],[[5,11],[6,12]]]
{
    "mwdata":[1,3,5,2,4,6,7,9,11,8,10,12],
    "mwsize":[3,2,2],
    "mwtype":"double"
}
[17;500]
[17,500]
{
    "mwdata":[17,500],
    "mwsize":[2,1],
    "mwtype":"double"
}
[17,500]
[[17,500]]
{
    "mwdata":[17,500],
    "mwsize":[1,2],
    "mwtype":"double"
}

Числовые типы: NaN, Inf, и -Inf

  • NaN, Inf, и -Inf являются числовыми типами, базовый класс MATLAB которых может быть либо double или single только. Вы не можете представлять NaN, Inf, и -Inf как целый тип в MATLAB.

Данные MATLAB: NaN, Inf, и -InfJSON Малое обозначениеJSON Большое обозначение
NaN
{"mwdata":"NaN"}
{
    "mwdata": ["NaN"],
    "mwsize": [1,1],
    "mwtype": "double"
}

или

{
    "mwdata": [{"mwdata":"NaN"}],
    "mwsize": [1,1],
    "mwtype": "double"
}
Inf
{"mwdata":"Inf"}
{
    "mwdata": ["Inf"],
    "mwsize": [1,1],
    "mwtype": "double"
}

или

{
    "mwdata": [{"mwdata":"Inf"}],
    "mwsize": [1,1],
    "mwtype": "double"
}
-Inf
{"mwdata":"-Inf"}
{
    "mwdata": ["-Inf"],
    "mwsize": [1,1],
    "mwtype": "double"
}

или

{
    "mwdata": [{"mwdata":"-Inf"}],
    "mwsize": [1,1],
    "mwtype": "double"
}

Числовые типы: Комплексные числа

  • The mwdata значения свойств должны содержать действительную и мнимую части комплексного числа, представленного один за другим.

  • Необходимо задать дополнительное свойство mwcomplex со значением true.

  • The mwtype свойство может быть любым из double, single, int8, uint8, int16, uint16, int32, uint32, int64, uint64.

  • Вы не можете представлять комплексные числа с помощью малого обозначения.

Представление JSON комплексных чисел

Данные MATLABJSON Большое обозначение
a + bi
{
    "mwcomplex": true,
    "mwdata": [a,b],
    "mwsize": [1,1],
    "mwtype": "double"
}

Данные MATLAB: скалярное комплексное числоJSON Большое обозначение
int32(3 + 4i)
{
    "mwcomplex": true,
    "mwdata": [3,4],
    "mwsize": [1,1],
    "mwtype": "int32"
}

Данные MATLAB: многомерный массив комплексных чиселJSON Большое обозначение
[1 - 2i;...
 3 + 7i]
{
    "mwcomplex": true,
    "mwdata":[1, -2, 3, 7],
    "mwsize":[2,1],
    "mwtype":"double",
}

Символьный массив

  • The mwdata свойство должно быть массивом JSON strings.

  • The mwtype свойство должно иметь значение char.

  • Можно представлять скалярные символы и 1-by-N символьные массивы в малом обозначении.

  • Вы не можете представлять многомерные символьные массивы в большом обозначении.

JSON Представление char

Тип данных MATLABJSON Малое Обозначение (для скаляра и одномерных символьных массивов)JSON Большое обозначение
charJSON string
{
   "mwdata": [JSON string],
   "mwsize": [<char dimensions>],
   "mwtype": "char"
}

Данные MATLAB: Скалярный и одномерный символьный массивJSON Малое обозначениеJSON Большое обозначение
'a'"a"
{  
    "mwdata": ["a"],
    "mwsize": [1,1],
    "mwtype": "char"
}
'hey, jude'"hey, jude"
{  
    "mwdata": ["hey, jude"],
    "mwsize": [1,9],
    "mwtype": "char"
}

Данные MATLAB: многомерный символьный массивJSON Большое обозначение
['boston';...
 '123456']
{
    "mwdata": ["b1o2s3t4o5n6"],
    "mwsize": [3,4],
    "mwtype": "char"
}

Логичный

  • The mwdata свойство должно содержать только JSON true или false логические значения. Для многомерных logical данные представляют значения в основном порядке.

  • The mwtype свойство должно иметь значение logical.

  • В малом обозначении вы должны представлять многомерные logical массивы с вложенными массивами JSON.

JSON Представление logical

Тип данных MATLABJSON Малое обозначениеJSON Большое обозначение
logicaltrue | false
{
   "mwtype": "logical",
   "mwsize": [1,1],
   "mwdata": [true | false]
}

Данные MATLAB: Скалярные logicalJSON Малое обозначениеJSON Большое обозначение
logical(1) или truetrue
{
    "mwdata": [true],
    "mwsize": [1,1],
    "mwtype": "logical"
}
logical(0) или falsefalse
{
    "mwdata": [false],
    "mwsize": [1,1],
    "mwtype": "logical"
}

Данные MATLAB: многомерные logical МассивJSON Малое обозначениеJSON Большое обозначение
[true,false;...
 true,false;...
 true,false]
[[[true,false],[true,false],[true,false]]]
{
    "mwdata": [true,true,true,false,false,false],
    "mwsize": [3,2],
    "mwtype": "logical"
}

Массив ячеек

  • The mwdata свойство должно быть JSON array который содержит значения камер в их представлении JSON.

  • The mwtype свойство должно иметь значение cell.

  • Вы не можете представлять cell массивы с использованием малого обозначения.

    Тип данных MATLABJSON Большое обозначение
    cell
    {
        "mwdata": [<cell data>],
        "mwsize": [<cell dimensions>],
        "mwtype": "cell"
    }
    

  • Хотя вы должны представлять массивы ячеек, использующие только большие обозначения, если тип данных cell элемент поддерживает маленькое обозначение, можно представлять этот элемент в маленьком обозначении при кодировании cell массив в JSON.

    Пример показан в следующей таблице.

    Данные MATLAB: cell МассивJSON Большое обозначение с некоторыми cell элементы в малом обозначенииJSON Большое обозначение со всеми cell элементы в Большом Обозначении
    {'Primes',[10 23 199],{false,true,'maybe'}}
    {
        "mwdata": ["Primes",
            [[10, 23, 199]],
            {
                "mwdata": [false, true, "maybe"],
                "mwsize": [1, 3],
                "mwtype": "cell"
            }
        ],
        "mwsize": [1, 3],
        "mwtype": "cell"
    }
    {
        "mwdata": [{
            "mwdata": ["Primes"],
            "mwsize": [1, 6],
            "mwtype": "char"
        },{
            "mwdata": [10, 23, 199],
            "mwsize": [1, 3],
            "mwtype": "double"
        },{
            "mwdata": [{
                "mwdata": [false],
                "mwsize": [1, 1],
                "mwtype": "logical"
            },{
            "mwdata": [true],
            "mwsize": [1, 1],
            "mwtype": "logical"
        },{
            "mwdata": ["maybe"],
            "mwsize": [1, 5],
            "mwtype": "char"
        }],
        "mwsize": [1, 3],
        "mwtype": "cell"
        }],
        "mwsize": [1, 3],
        "mwtype": "cell"
    }
  • Для получения дополнительной информации о MATLAB cell тип данных, см. cell.

Массив структур

  • The mwdata свойство должно быть объектом JSON, который содержит пары "имя-значение", где имя совпадает с полем в struct и значение является массивом JSON, который представляет данные в поле.

  • The mwtype свойство должно иметь значение struct.

  • Хотя вы должны представлять многомерные struct массивы, использующие JSON большое обозначение, если тип данных struct значение поддерживает маленькое обозначение, можно представлять это значение в маленьком обозначении при кодировании struct в JSON.

  • Можно представлять только скаляр struct в малом обозначении.

    JSON Представление struct массивы

    Тип данных MATLABJSON Малое обозначение (действительна только для скаляра struct)JSON Большое обозначение
    structОбъект JSON
    {       
        "mwdata": {<struct data>}
        "mwsize": [<struct dimensions>],
        "mwtype": "struct"
    }
    

  • Данные MATLAB: Скалярные Массивы структурJSON Малое обозначениеJSON Большое обозначение
    struct('name','John Smith','age',15)
    { "name" : "John Smith", "age" : 15 }
    {
        "mwdata": {
                "age": [{
    	            "mwdata": [15],
    		     "mwsize": [1, 1],
    	            "mwtype": "double"
    		    }],
                "name": [{
                       "mwdata": ["John Smith"],
    		      "mwsize": [1, 10],
    		      "mwtype": "char"
                      }]
        },
        "mwsize": [1, 1],
        "mwtype": "struct"
    }

  • Хотя вы можете представлять 1 на 1 struct массивы в малом обозначении, если тип данных struct значение не поддерживает маленькое обозначение, вы должны представлять это значение в большом обозначении при кодировании struct в JSON.

    Данные MATLAB: массив структур 1 на 1JSON Малое обозначение с некоторыми struct значения в большом обозначенииJSON Большое обозначение со всеми struct значения в большом обозначении
    struct('Name',{{'Casper','Ghost'}},... 
        'Age',{[14,17,18]},... 
        'Date', {736676})
    {
        "Age": [[14, 17, 18]],
        "Date": 736676,
        "Name": {
            "mwdata": ["Casper", "Ghost"],
            "mwsize": [1, 2],
            "mwtype": "cell"
        }
    }
    {
        "mwdata": {
            "Age": [{
                "mwdata": [14, 17, 18],
                "mwsize": [1, 3],
                "mwtype": "double"
            }],
            "Date": [{
                "mwdata": [736676],
                "mwsize": [1, 1],
                "mwtype": "double"
            }],
            "Name": [{
                "mwdata": [{
                    "mwdata": ["Casper"],
                    "mwsize": [1, 6],
                    "mwtype": "char"
                }, {
                    "mwdata": ["Ghost"],
                    "mwsize": [1, 5],
                    "mwtype": "char"
                }],
                "mwsize": [1, 2],
                "mwtype": "cell"
            }]
        },
        "mwsize": [1, 1],
        "mwtype": "struct"
    } 

  • Хотя вы должны представлять многомерные struct массивы, использующие JSON большое обозначение, если тип данных struct значение поддерживает маленькое обозначение, можно представлять это значение в маленьком обозначении при кодировании struct в JSON.

    Данные MATLAB: многомерный массив структурJSON Большое обозначение с некоторыми struct Значения в малом обозначенииJSON Большое обозначение со всеми struct значения в большом обозначении
    struct( 'Name',{'Casper','Ghost';... 
                    'Genie' ,'Wolf'},...
            'Ages',{14,17;...
                    20,23} )
    {
        "mwdata":{
            "Ages":[14,20,17,23],
            "Name":["Casper","Genie","Ghost","Wolf"]
        },
        "mwsize":[2,2],
        "mwtype":"struct"
    }
    {
        "mwdata":{
            "Ages":[{
                "mwdata":[14],
                "mwsize":[1,1],
                "mwtype":"double"
            },{
                "mwdata":[20],
                "mwsize":[1,1],
                "mwtype":"double"
            },{
                "mwdata":[17],
                "mwsize":[1,1],
                "mwtype":"double"
            },{
                "mwdata":[23],
                "mwsize":[1,1],
                "mwtype":"double"
            }],
            "Name":[{
                "mwdata":["Casper"],
                "mwsize":[1,6],    
                "mwtype":"char"
            },{
                "mwdata":["Genie"],
                "mwsize":[1,5],
                "mwtype":"char"
            },{
                "mwdata":["Ghost"],
                "mwsize":[1,5],
                "mwtype":"char"
            },{
                "mwdata":["Wolf"],
                "mwsize":[1,4],
                "mwtype":"char"
            }]
        },
        "mwsize":[2,2],
        "mwtype":"struct"
    }

  • Для получения дополнительной информации о MATLAB struct тип данных, см. struct.

Строковые массивы

  • The mwdata свойство должно быть массивом JSON, содержащим строки в основном порядке столбцов.

  • The mwtype свойство должно иметь значение string.

  • Вы не можете представлять string массивы с использованием небольших обозначений JSON.

    JSON Представление string массивы

    Тип данных MATLABJSON Большое обозначение
    string
    {
        "mwdata": [JSON string],
        "mwsize": [<string dimensions>],
        "mwtype": "string"
    }
    

    Данные MATLAB: Скалярный, Одномерный, Многомерный и missing string МассивыJSON Большое обозначение
    "abc"
    {
        "mwdata": ["abc"],
        "mwsize": [1, 1],
        "mwtype": "string"
    }
    ["abc"]
    {
        "mwdata": ["abc"],
        "mwsize": [1, 1],
        "mwtype": "string"
    }
    ["abc" "de"]
    {
        "mwdata": ["abc", "de"],
        "mwsize": [1, 2],
        "mwtype": "string"
    }
    ["abc" "de"; "fg" "hi"]
    {
        "mwdata": ["abc", "fg", "de", "hi"],
        "mwsize": [2, 2],
        "mwtype": "string"  
    }
    
    string(missing)
    {
        "mwdata": [{"mwdata": "missing"}],
        "mwsize": [1, 1],
        "mwtype": "string"
    }

  • Для получения дополнительной информации о MATLAB string тип данных, см. string.

Перечисление

  • The mwdata свойство должно быть массивом JSON строк, обозначающих представители перечисления.

  • The mwtype свойство должно быть установлено в класс перечислений в массиве.

  • Вы не можете представлять enumeration использование малых обозначений JSON.

    JSON Представление enumeration

    Тип данных MATLABJSON Большое обозначение
    enumeration
    {  
        "mwdata": [JSON string],
        "mwsize": [<enumeration dimensions>],
        "mwtype": "<class name of enumeration>"
    }

    Следующая таблица показывает примеры представления JSON enumeration.

    Используйте следующий перечисление для примеров. Для получения дополнительной информации смотрите Задать классы перечисления.

    classdef Colors
       enumeration
          Black Blue Red
       end
    end

    Данные MATLAB: объект класса перечисленияJSON Большое обозначение
    b = Colors.Black
    {
        "mwdata": ["Black"],
        "mwsize": [1, 1],
        "mwtype": "Colors"
    }
    b = [Colors.Black Colors.Blue]
    {
        "mwdata": ["Black", "Blue"],
        "mwsize": [1, 2],
        "mwtype": "Colors"
    }
  • Для получения дополнительной информации о MATLAB enumeration тип данных, см. enumeration.

Массив Datetime

  • The mwdata свойство должно быть объектом JSON, содержащим пары "имя-значение" для TimeStamp и опционально для LowOrderTimeStamp. Значения для TimeStamp и LowOrderTimeStamp представление JSON double тип данных.

    • The TimeStamp значения свойств представляют время POSIX в миллисекундах, прошедшее с 00:00:00 1-Jan-1970 UTC (скоординированное универсальное время).

    • The LowOrderTimeStamp значения свойств представляют дополнительное разрешение во временной метке. Используйте это свойство для поддержания точности прошлых миллисекунд.

    • Хотя вы должны представлять datetime массивы, использующие только большое обозначение, с TimeStamp и LowOrderTimeStamp представляют значения double тип данных, который поддерживает маленькое обозначение, можно представлять TimeStamp и LowOrderTimeStamp использование малого обозначения при кодировании datetime массивы в JSON.

  • The mwmetadata свойство должно быть объектом JSON, содержащим пары "имя-значение" для TimeZone и Format. Значения для TimeZone и Format представление JSON char тип данных.

    • Значения TimeZone и Format свойства содержат метаданные, необходимые для воссоздания datetime значения с часовыми поясами в MATLAB в их исходном формате отображения. Эти метаданные необходимы, потому что числовые значения, содержащиеся в TimeStamp и LowOrderTimeStamp массивы вычисляются относительно UTC.

    • Можно задать TimeZone и Format свойства для NaT и Inf datetime значения массива.

    • Хотя вы должны представлять datetime массивы, использующие только большое обозначение, с TimeZone и Format представляют значения char тип данных, который поддерживает маленькое обозначение, можно представлять TimeZone и Format использование малого обозначения при кодировании datetime массивы в JSON.

    • Значение для TimeZone может быть пустым.

    • Значение по умолчанию для Format зависит от локали системы. Для получения дополнительной информации смотрите Формат datetime по умолчанию.

  • The mwtype свойство должно иметь значение datetime.

  • Вы не можете представлять datetime массивы с использованием небольших обозначений JSON.

    JSON Представление datetime массивы

    Тип данных MATLABJSON Большое обозначение
    datetime
    {  
       "mwdata": {
                    "LowOrderTimeStamp": <JSON number>
                    "TimeStamp": <JSON number>
                 },
        "mwmetadata": {
    		"TimeZone": <JSON string>,
    		"Format": <JSON string>	
        },
        "mwsize": [<datetime array dimensions>],
        "mwtype": "datetime"
    }

    Данные MATLAB: Скалярные datetime МассивJSON Большое обозначение с mwdata и mwmetadata в малом обозначенииJSON Большое обозначение с mwdata и mwmetadata В Большом Обозначении
    datetime(2015, 3, 24);
    {
        "mwdata": {
            "TimeStamp": 1.4271552E+12
        },
        "mwmetadata": {
            "Format": "dd-MMM-uuuu",
            "TimeZone": ""
        },
        "mwsize": [1, 1],
        "mwtype": "datetime"
    }
    {
        "mwdata": {
            "TimeStamp": {
                "mwdata": [1.4271552E+12],
                "mwsize": [1, 1],
                "mwtype": "double"
            }
        },
        "mwmetadata": {
            "Format": {
                "mwdata": ["dd-MMM-uuuu"],
                "mwsize": [1, 11],
                "mwtype": "char"
            },
            "TimeZone": {
                "mwdata": [""],
                "mwsize": [0, 0],
                "mwtype": "char"
            }
        },
        "mwsize": [1, 1],
        "mwtype": "datetime"
    }

    Следующая таблица показывает представление JSON для datetime Вектор-строка. Начиная с LowOrderTimeStamp и TimeStamp содержат double значения, необходимо использовать вложенные массивы JSON при представлении многомерных (кроме N-by-1) массивов LowOrderTimeStamp и TimeStamp в малом обозначении.

    Данные MATLAB: datetime Вектор-строкаJSON Большое обозначение с mwdata и mwmetadata в малом обозначенииJSON Большое обозначение с mwdata и mwmetadata В Большом Обозначении
    datetime(2018,1,8,10,... 
    11,12,(1:5)+(1:5)*1e-6,...
    'TimeZone','local');
    {
        "mwdata": {
            "LowOrderTimeStamp": [[9.9999999991773336E-7,
                1.9999999998354667E-6,
                2.9999999999752447E-6,
                3.9999999996709334E-6,
                4.9999999998107114E-6]],
            "TimeStamp": [[1.515424272001E+12,
                1.515424272002E+12,
                1.515424272003E+12,
                1.515424272004E+12,
                1.515424272005E+12]],
        },
        "mwmetadata": {
            "Format":"dd-MMM-uuuu HH:mm:ss",
            "TimeZone": "America\/New_York",
        },
        "mwsize": [1, 5],
        "mwtype": "datetime"
    }
    
    {
        "mwdata": {
            "LowOrderTimeStamp": {
                "mwdata": [9.9999999991773336E-7, 
                    1.9999999998354667E-6, 
                    2.9999999999752447E-6, 
                    3.9999999996709334E-6, 
                    4.9999999998107114E-6],
                "mwsize": [1, 5],
                "mwtype": "double"
            },
            "TimeStamp": {
                "mwdata": [1.515424272001E+12,
                    1.515424272002E+12, 
                    1.515424272003E+12, 
                    1.515424272004E+12, 
                    1.515424272005E+12],
                "mwsize": [1, 5],
                "mwtype": "double"
                }
            },
            "mwmetadata": {
                "Format": {
                    "mwdata": ["dd-MMM-uuuu HH:mm:ss"],
                    "mwsize": [1, 20],
                    "mwtype": "char"
                },
                "TimeZone": {
                    "mwdata": ["America\/New_York"],
                    "mwsize": [1, 16],
                    "mwtype": "char"
            }
        },    
        "mwsize": [1, 5],
        "mwtype": "datetime"
    }
    Данные MATLAB: datetime Вектор-столбецJSON Большое обозначение с mwdata и mwmetadata в малом обозначенииJSON Большое обозначение с mwdata и mwmetadata В Большом Обозначении
    datetime(2018,1,8,10,... 
    11,12,(1:5)+(1:5)*1e-6,...
    'TimeZone','local')';
    {
        "mwdata": {
            "LowOrderTimeStamp": [9.9999999991773336E-7,
                1.9999999998354667E-6,
                2.9999999999752447E-6,
                3.9999999996709334E-6,
                4.9999999998107114E-6],
            "TimeStamp": [1.515424272001E+12,
                1.515424272002E+12,
                1.515424272003E+12,
                1.515424272004E+12,
                1.515424272005E+12],
        },
        "mwmetadata": {
            "Format":"dd-MMM-uuuu HH:mm:ss",
            "TimeZone": "America\/New_York",
        },
        "mwsize": [5, 1],
        "mwtype": "datetime"
    }
    
    {
        "mwdata": {
            "LowOrderTimeStamp": {
                "mwdata": [9.9999999991773336E-7, 
                    1.9999999998354667E-6, 
                    2.9999999999752447E-6, 
                    3.9999999996709334E-6, 
                    4.9999999998107114E-6],
                "mwsize": [1, 5],
                "mwtype": "double"
            },
            "TimeStamp": {
                "mwdata": [1.515424272001E+12,
                    1.515424272002E+12, 
                    1.515424272003E+12, 
                    1.515424272004E+12, 
                    1.515424272005E+12],
                "mwsize": [5, 1],
                "mwtype": "double"
                }
            },
            "mwmetadata": {
                "Format": {
                    "mwdata": ["dd-MMM-uuuu HH:mm:ss"],
                    "mwsize": [1, 20],
                    "mwtype": "char"
                },
                "TimeZone": {
                    "mwdata": ["America\/New_York"],
                    "mwsize": [1, 16],
                    "mwtype": "char"
            }
        },    
        "mwsize": [1, 5],
        "mwtype": "datetime"
    }
    Данные MATLAB: NaT и Inf datetime МассивJSON Большое обозначение с mwdata и mwmetadata в малом обозначенииJSON Большое обозначение с mwdata и mwmetadata в большом обозначении
    NaT
    {
        "mwdata": {
            "TimeStamp": {
                "mwdata": "NaN"
    	  }
    	},
        "mwmetadata": {
            "Format": "dd-MMM-uuuu HH:mm:ss",
            "TimeZone": ""
        },
        "mwsize": [1, 1],
        "mwtype": "datetime"
    }
    {
        "mwdata": {
            "TimeStamp": {
                "mwdata": ["NaN"],
                    "mwsize": [1, 1],
                    "mwtype": "double"
            }
        },
        "mwmetadata": {
            "Format": {
                "mwdata": ["dd-MMM-uuuu HH:mm:ss"],
                "mwsize": [1, 20],
                "mwtype": "char"
            },
            "TimeZone": {
                "mwdata": [""],
                "mwsize": [0, 0],
                "mwtype": "char"
            }
        },
        "mwsize": [1, 1],
        "mwtype": "datetime"
    }
    datetime(inf,inf,inf)
    {
    	"mwdata": {
    		"TimeStamp": {
    			"mwdata": "Inf"
    		}
    	},
    	"mwmetadata": {
    		"Format": "dd-MMM-uuuu HH:mm:ss",
    		"TimeZone": ""
    	},
    	"mwsize": [1, 1],
    	"mwtype": "datetime"
    }
    {
        "mwdata": {
            "TimeStamp": {
                "mwdata": ["Inf"],
                "mwsize": [1, 1],
                "mwtype": "double"
                }
            },
            "mwmetadata": {
                "Format": {
                    "mwdata": ["dd-MMM-uuuu HH:mm:ss"],
                    "mwsize": [1, 20],
                    "mwtype": "char"
            },
            "TimeZone": {
                "mwdata": [""],
                "mwsize": [0, 0],
                "mwtype": "char"
            }
        },
        "mwsize": [1, 1],
        "mwtype": "datetime"
    }
  • Для получения дополнительной информации о MATLAB datetime тип данных, см. datetime.

Пустой массив: []

  • Пустые массивы [] не может быть типом struct.

Данные MATLAB: пустой массивJSON Малое обозначениеJSON Большое обозначение
[]
[]
{
   "mwdata": [],
   "mwsize": [0,0],
   "mwtype": "double"  |  "single" 
             "int8"    |  "uint8"  | "int16"  | "uint16"
             "int32"   |  "uint32" | "int64"  | "uint64"
             "logical" |  "char"   | "cell"   | "string"
             "<class name of enumeration>"     
}

Похожие темы

Внешние веб-сайты