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 "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 |
|---|---|---|
| Нет небольшого представления |
{
"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"
}
|
42 | 42 |
{
"mwdata": [42],
"mwsize": [1,1],
"mwtype": "double"
}
|
double, single и целые числа mwdata свойство должно быть массивом JSON, содержащим данные из многомерных массивов в порядке «» большой столбец «». Этот порядок соответствует компоновке памяти по умолчанию в MATLAB.
Вы должны представлять double массивы, кроме N-by-1 double массивы, с вложенными массивами JSON при использовании небольших обозначений
Вы не можете представлять многомерные single и целочисленные типы, использующие малую нотацию JSON.
Данные MATLAB: многомерные | Малая нотация 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, и -InfNaN, 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
| Тип данных MATLAB | JSON Small Notation (для скалярных и одномерных массивов символов) | Большая нотация JSON |
|---|---|---|
char | JSON 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 |
|---|---|---|
logical | true | false |
{
"mwtype": "logical",
"mwsize": [1,1],
"mwdata": [true | false]
}
|
Данные MATLAB: скалярные logical | Малая нотация JSON | Большая нотация JSON |
|---|---|---|
logical(1) или true | true |
{
"mwdata": [true],
"mwsize": [1,1],
"mwtype": "logical"
}
|
logical(0) или false | false |
{
"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 множества
| Тип данных MATLAB | JSON 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 к 1 | JSON Малая нотация с некоторыми 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.
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>"
}
|