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

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

Используя представление 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 Compiler SDK)Преобразуйте данные MATLAB в запросе к серверу к тексту JSON с помощью MATLAB Production Server схема JSON.
mps.json.decoderesponse (MATLAB Compiler SDK)Преобразуйте текст JSON от ответа сервера до данных MATLAB.
mps.json.encode (MATLAB Compiler SDK)Преобразуйте данные MATLAB в текст JSON с помощью MATLAB Production Server схема JSON.
mps.json.decode (MATLAB Compiler SDK)Преобразуйте вектор символов или строку в MATLAB Production Server схема JSON к данным MATLAB.

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

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

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

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

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

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

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

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

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

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

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

singleint8uint8int16uint16,

int32uint32int64, unit64

Никакое маленькое представление
{
    "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::dataJSON маленькое обозначение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 и integer типы с помощью JSON маленькое обозначение.

Представление JSON многомерного double массивы

Matlab::dataJSON маленькое обозначение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.

Представление JSON NaNInf, и -Inf

Matlab::dataJSON маленькое обозначение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единственныйint8uint8int16uint16int32uint32int64, unit64.

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

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

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

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

Matlab::dataJSON большое обозначение
int32(3 + 4i)
{
    "mwcomplex": true,
    "mwdata": [3,4],
    "mwsize": [1,1],
    "mwtype": "int32"
}

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

Matlab::dataJSON большое обозначение
[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"
}

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

Matlab::dataJSON маленькое обозначениеJSON большое обозначение
'a'"a"
{  
    "mwdata": ["a"],
    "mwsize": [1,1],
    "mwtype": "char"
}
'hey, jude'"hey, jude"
{  
    "mwdata": ["hey, jude"],
    "mwsize": [1,9],
    "mwtype": "char"
}

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

Matlab::dataJSON большое обозначение
['boston';...
 '123456']
{
    "mwdata": ["b1o2s3t4o5n6"],
    "mwsize": [3,4],
    "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]
}

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

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

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

Matlab::dataJSON маленькое обозначение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::dataJSON Большое Обозначение с некоторым 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"
    }
    

  • Следующая таблица показывает пример скалярного struct в маленьком и большом обозначении.

    Matlab::dataJSON маленькое обозначение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.

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

    Matlab::dataJSON Маленькое Обозначение с некоторым 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.

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

    Matlab::dataJSON Большое Обозначение с некоторым 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"
    }
    

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

    Matlab::dataJSON большое обозначение
    "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.

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

    classdef Colors
       enumeration
          Black Blue Red
       end
    end

    Matlab::dataJSON большое обозначение
    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 По умолчанию (MATLAB).

  • 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"
    }

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

    Matlab::dataJSON большое обозначение с 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::dataJSON большое обозначение с 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"
    }

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

    Matlab::dataJSON большое обозначение с 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"
    }

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

    Matlab::dataJSON большое обозначение с 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.

Тип данных MATLABJSON маленькое обозначениеJSON большое обозначение
[]
[]
{
   "mwdata": [],
   "mwsize": [0,0],
   "mwtype": "double"  |  "single" 
             "int8"    |  "uint8"  | "int16"  | "uint16"
             "int32"   |  "uint32" | "int64"  | "uint64"
             "logical" |  "char"   | "cell"   | "string"
             "<class name of enumeration>"     
}

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте