exponenta event banner

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

JavaScript Object Notation или JSON - текстовый формат обмена данными, который может использоваться в разных языках программирования. Поскольку JSON не зависит от языка программирования, в JSON можно представить типы данных MATLAB ®. С помощью 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 по умолчанию используется большая нотация.

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 SDK™ предоставляет следующие служебные функции для преобразования данных между MATLAB и JSON.

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

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

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

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

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

  • Нельзя представить скаляр или многомерность single и целочисленные типы, использующие малую нотацию JSON.

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

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

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

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

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

Тип данных MATLABМалая нотация JSONБольшая нотация 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 и целые числа

  • 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, и -InfМалая нотация JSONБольшая нотация 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"
}

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

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

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

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

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

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

Данные MATLABБольшая нотация JSON
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",
}

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

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

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

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

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

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

Тип данных MATLABJSON Small Notation (для скалярных и одномерных массивов символов)Большая нотация 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"
}

Логичный

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

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

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

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

Тип данных MATLABМалая нотация JSONБольшая нотация JSON
logicaltrue | false
{
   "mwtype": "logical",
   "mwsize": [1,1],
   "mwdata": [true | false]
}

Данные MATLAB: скалярные logicalМалая нотация JSONБольшая нотация 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"
}

Массив ячеек

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

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

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

    Тип данных MATLABБольшая нотация JSON
    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.

Структурный массив

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

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

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

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

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

    Тип данных MATLABJSON Small Notation (допустимо только для скаляра 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.

Массив строк

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

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

  • Вы не можете представлять string массивы, использующие небольшие нотации JSON.

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

    Тип данных MATLABБольшая нотация JSON
    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.

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

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

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

  • Вы не можете представлять enumeration используя малую нотацию JSON.

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

    Тип данных MATLABБольшая нотация JSON
    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

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

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

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

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

  • 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 зависит от языкового стандарта системы. Дополнительные сведения см. в разделе Формат даты и времени по умолчанию.

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

  • Вы не можете представлять datetime массивы, использующие небольшие нотации JSON.

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

    Тип данных MATLABБольшая нотация JSON
    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>"     
}

Связанные темы

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