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

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

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

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

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

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

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

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

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

PropertyName Значение свойства
"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"Для комплексных чисел, набор значение свойства к true JSON.

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

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

УСПОКОИТЕЛЬНЫЙ API поддерживает следующие типы данных MATLAB.

Числовые типы: doubleединственный и Целые числа

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

  • mwtype свойство может быть любым doubleединственныйint8uint8int16uint16int32uint32int64uint64.

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

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

Скалярные числовые типы: doubleединственный и Целые числа

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

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

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

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

singleint8uint8int16uint16,

int32uint32int64uint64

Никакое маленькое представление
{
    "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::data: скалярные численные данные

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единственный и Целые числа

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

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

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

Matlab::data: многомерный 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"
}

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

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

Matlab::data: NaNInf, и -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"
}

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

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

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

  • mwtype свойство может быть любым doubleединственныйint8uint8int16uint16int32uint32int64uint64.

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

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

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

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

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

Массив символов

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

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

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

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

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

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

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

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

Логический

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

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

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

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

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

Matlab::data: скаляр logicalJSON маленькое обозначениеJSON большое обозначение
logical(1) или truetrue
{
    "mwdata": [true],
    "mwsize": [1,1],
    "mwtype": "logical"
}
logical(0) или falsefalse
{
    "mwdata": [false],
    "mwsize": [1,1],
    "mwtype": "logical"
}

Matlab::data: многомерный 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"
}

CellArray

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

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

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

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

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

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

    Matlab::data: 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 Маленькое Обозначение (допустимый только для скалярного struct)JSON большое обозначение
    structОбъект JSON
    {       
        "mwdata": {<struct data>}
        "mwsize": [<struct dimensions>],
        "mwtype": "struct"
    }
    

  • Matlab::data: скалярный массив структур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"
    }

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

    Matlab::data: массив структур 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::data: массив многомерной структуры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 массивы

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

    Matlab::data: скаляр, Одно-мерный, многомерный, и 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

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

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

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

    classdef Colors
       enumeration
          Black Blue Red
       end
    end

    Matlab::data: объект класса перечисления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 в миллисекундах, истекших с 0:00:00 1 января 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 зависит от вашей системной локали. Для получения дополнительной информации смотрите Формат datetime По умолчанию.

  • 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::data: скаляр 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-1) массивы LowOrderTimeStamp и TimeStamp в маленьком обозначении.

    Matlab::data: 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::data: 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::data: 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::data: пустой массив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>"     
}

Похожие темы

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