JavaScript Object Notation или JSON - текстовый формат обмена данными, который может использоваться на разных языках программирования. Поскольку JSON не зависит от языка программирования, можно представлять MATLAB® типы данных в JSON. Используя представление JSON типов данных MATLAB, можно
Представление данных или переменных в коде клиента, которые служат входами в функцию MATLAB, развернутую на сервере.
Проанализируйте ответ от образца MATLAB Production Server™ для дальнейшей манипуляции в коде клиента.
Ответ от сервера содержит JSON array, где каждый элемент массива соответствует выходу развернутой функции MATLAB, представленной в виде JSON object.
Можно представлять типы данных MATLAB в JSON с помощью двух форматов обозначения: малого и большого.
Малое обозначение обеспечивает упрощенное представление типов данных MATLAB в JSON. Существует взаимно-однозначное отображение между типами данных MATLAB и их соответствующим представлением JSON. Можно использовать маленькое обозначение для представления скалярных и многомерных double и logical типы данных, скаляр и 1-by-N char тип данных и скалярные struct.
Большое обозначение обеспечивает общее представление типов данных MATLAB в JSON. В большом формате используется JSON object обозначение, состоящая из пар "имя-значение" свойства, для представления данных. Вы можете использовать большое обозначение для любого типа данных MATLAB, который не может быть представлен в малом обозначении. В ответе от MATLAB Production Server по умолчанию используется большое обозначение.
A JSON- object в большом обозначении содержатся следующие пары "имя-значение" свойства.
| Имя свойства | Значение свойства |
|---|---|
"mwdata" | JSON- array представление фактических данных. Задайте значение свойства, заключив данные в разделенный списками , разделенными запятыми внутри [] . |
"mwsize" | JSON- array представление размерностей данных. Задайте значение свойства, заключая размерности в разделенный списками , разделенными запятыми внутри []. |
"mwtype" | JSON- "double" | "single" | "int8" | "uint8" | "int16" | "uint16" | "int32" | "uint32" | "int64" | "uint64" | "logical" | "char" | "struct" | "cell" | "string" | "datetime"| "<class name of enumeration>" |
"mwcomplex" | Для комплексных чисел установите значение свойства JSON true. |
MATLAB Compiler SDK™ предоставляет следующие служебные функции для преобразования данных между MATLAB и JSON.
| Имя функции | Цель |
|---|---|
mps.json.encoderequest (MATLAB Compiler SDK) | Преобразуйте данные MATLAB в запросе сервера в текст JSON с помощью схемы JSON MATLAB Production Server. |
mps.json.decoderesponse (MATLAB Compiler SDK) | Преобразуйте текст JSON из ответа сервера в данные MATLAB. |
mps.json.encode (MATLAB Compiler SDK) | Преобразуйте данные MATLAB в текст JSON с помощью схемы JSON MATLAB Production Server. |
mps.json.decode (MATLAB Compiler SDK) | Преобразуйте вектор символов или строку в схеме JSON MATLAB Production Server в данные MATLAB. |
RESTful API поддерживает следующие типы данных MATLAB.
double, single и целые числаThe mwdata свойство должно быть массивом JSON с номерами JSON.
The mwtype свойство может быть любым из double, single, int8, uint8, int16, uint16, int32, uint32, int64, uint64.
Вы не можете представлять скалярные или многомерные single и целые типы с использованием JSON малого обозначения.
Начиная с R2020a, int64 и uint64 числа поддерживают точность и область значений в своем представлении JSON, так как они не преобразованы в double.
double, single и целые числаThe mwdata свойство должно быть массивом JSON, содержащим одно число JSON, представляющее скалярное значение MATLAB.
The mwsize свойство должно быть массивом JSON, содержащим 1,1.
Представление JSON Скаляра числовых типов: double, single и целые числа
| Тип данных 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 и целые числаThe 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"
}
|
The mwdata значения свойств должны содержать действительную и мнимую части комплексного числа, представленного один за другим.
Необходимо задать дополнительное свойство mwcomplex со значением true.
The 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",
}
|
The mwdata свойство должно быть массивом JSON strings.
The mwtype свойство должно иметь значение char.
Можно представлять скалярные символы и 1-by-N символьные массивы в малом обозначении.
Вы не можете представлять многомерные символьные массивы в большом обозначении.
JSON Представление char
| Тип данных MATLAB | JSON Малое Обозначение (для скаляра и одномерных символьных массивов) | 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"
}
|
The mwdata свойство должно содержать только JSON true или false логические значения. Для многомерных logical данные представляют значения в основном порядке.
The 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"
}
|
The mwdata свойство должно быть JSON array который содержит значения камер в их представлении JSON.
The 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.
The mwdata свойство должно быть объектом JSON, который содержит пары "имя-значение", где имя совпадает с полем в struct и значение является массивом JSON, который представляет данные в поле.
The mwtype свойство должно иметь значение struct.
Хотя вы должны представлять многомерные struct массивы, использующие JSON большое обозначение, если тип данных struct значение поддерживает маленькое обозначение, можно представлять это значение в маленьком обозначении при кодировании struct в JSON.
Можно представлять только скаляр struct в малом обозначении.
JSON Представление struct массивы
| Тип данных MATLAB | JSON Малое обозначение (действительна только для скаляра 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.
The mwdata свойство должно быть массивом JSON, содержащим строки в основном порядке столбцов.
The 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.
The mwdata свойство должно быть массивом JSON строк, обозначающих представители перечисления.
The 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.
The mwdata свойство должно быть объектом JSON, содержащим пары "имя-значение" для TimeStamp и опционально для LowOrderTimeStamp. Значения для TimeStamp и LowOrderTimeStamp представление JSON double тип данных.
The TimeStamp значения свойств представляют время POSIX в миллисекундах, прошедшее с 00:00:00 1-Jan-1970 UTC (скоординированное универсальное время).
The LowOrderTimeStamp значения свойств представляют дополнительное разрешение во временной метке. Используйте это свойство для поддержания точности прошлых миллисекунд.
Хотя вы должны представлять datetime массивы, использующие только большое обозначение, с TimeStamp и LowOrderTimeStamp представляют значения double тип данных, который поддерживает маленькое обозначение, можно представлять TimeStamp и LowOrderTimeStamp использование малого обозначения при кодировании datetime массивы в JSON.
The mwmetadata свойство должно быть объектом JSON, содержащим пары "имя-значение" для TimeZone и Format. Значения для TimeZone и Format представление JSON char тип данных.
Значения TimeZone и Format свойства содержат метаданные, необходимые для воссоздания datetime значения с часовыми поясами в MATLAB в их исходном формате отображения. Эти метаданные необходимы, потому что числовые значения, содержащиеся в TimeStamp и LowOrderTimeStamp массивы вычисляются относительно UTC.
Можно задать TimeZone и Format свойства для NaT и Inf
datetime значения массива.
Хотя вы должны представлять datetime массивы, использующие только большое обозначение, с TimeZone и Format представляют значения char тип данных, который поддерживает маленькое обозначение, можно представлять TimeZone и Format использование малого обозначения при кодировании datetime массивы в JSON.
Значение для TimeZone может быть пустым.
Значение по умолчанию для Format зависит от локали системы. Для получения дополнительной информации смотрите Формат datetime по умолчанию.
The mwtype свойство должно иметь значение datetime.
Вы не можете представлять datetime массивы с использованием небольших обозначений JSON.
JSON Представление datetime массивы
| Тип данных 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>"
}
|