Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

MATLAB データ型の JSON 表現

JavaScript Object Notation (JSON) は、どのプログラミング言語でも使用できるテキストベースのデータ交換フォーマットです。JSON はプログラミング言語に依存しないため、MATLAB® データ型を JSON で表現できます。MATLAB データ型の JSON 表現を使用すると、次のことが可能です。

  • サーバーにデプロイされている MATLAB 関数への入力として機能するように、データまたは変数をクライアント コードで表現する。

  • クライアント コードをさらに操作するために、MATLAB Production Server™ インスタンスからのレスポンスを解析する。

サーバーからのレスポンスには JSON array が含まれます。ここで、配列の各要素は、JSON object として表現されるデプロイされた MATLAB 関数の出力に対応しています。

2 つの表現形式 "簡易""詳細" を使用して MATLAB データ型を JSON で表現できます。

  • 簡易表現では、JSON で MATLAB データ型の簡略表現が提供されます。MATLAB データ型とそれらに対応する JSON 表現の間の 1 対 1 のマッピングが存在します。簡易表現を使用して、スカラーと多次元の double データ型と logical データ型、スカラーと 1 行 n 列の char データ型、およびスカラー struct を表現できます。

  • 詳細表現では、JSON で MATLAB データ型の一般的な表現が提供されます。詳細形式では、プロパティの名前と値のペアで構成される JSON object 表現を使用してデータが表現されます。簡易表現では表現できないすべての MATLAB データ型に詳細表現を使用できます。MATLAB Production Server からのレスポンスでは、既定で詳細表現が使用されます。

詳細表現の JSON object には、以下のプロパティの名前と値のペアが含まれます。

プロパティ名プロパティ値
"mwdata"実際のデータを表現する JSON array。データをコンマ区切りのリストとして [] で囲むことで、プロパティ値を指定します。
"mwsize"データの次元を表現する JSON array。次元をコンマ区切りのリストとして [] で囲むことで、プロパティ値を指定します。
"mwtype"

データ型を表現する JSON string。プロパティ値を "" 内に指定します。

 "double"  |  "single"  | "int8"   |  
 "uint8"   |  "int16"   | "uint16" | 
 "int32"   |  "uint32"  | "int64"  | 
 "uint64"  |  "logical" | "char"   | 
 "struct"  |  "cell"    | "string" | 
 "datetime"|  "<class name of enumeration>" 

"mwcomplex"複素数の場合、プロパティ値を JSON true に設定します。

MATLAB Compiler SDK™ では、MATLAB と JSON の間のデータ変換用に以下のユーティリティ関数を提供しています。

関数名目的
mps.json.encoderequest (MATLAB Compiler SDK)MATLAB Production Server の JSON スキーマを使用してサーバー リクエスト内の MATLAB データを JSON テキストに変換する。
mps.json.decoderesponse (MATLAB Compiler SDK)サーバーレスポンスからの JSON テキストを MATLAB データに変換する。
mps.json.encode (MATLAB Compiler SDK)MATLAB Production Server の JSON スキーマを使用して MATLAB データを JSON テキストに変換する。
mps.json.decode (MATLAB Compiler SDK)MATLAB Production Server の JSON スキーマ内にある文字ベクトルまたは string を MATLAB データに変換する。

RESTful API は、以下の MATLAB データ型をサポートしています。

数値型: doublesingle、および整数

  • mwdata プロパティは、JSON 数値の JSON 配列でなければなりません。

  • mwtype プロパティには、doublesingleint8uint8int16uint16int32uint32int64uint64 のいずれかを使用できます。

  • JSON 簡易表現を使用してスカラーまたは多次元の single 型および整数型を表現することはできません。

  • R2020a 以降では、int64 値および uint64 値は double に変換されないため、これらの値の精度と範囲は JSON 表現で維持されます。

スカラー数値型: doublesingle、および整数

  • mwdata プロパティは、MATLAB スカラー値を表現する 1 つの JSON 数値を含む JSON 配列でなければなりません。

  • mwsize プロパティは、1,1 を含む JSON 配列でなければなりません。

スカラー数値型の JSON 表現: doublesingle、および整数

MATLAB データ型JSON 簡易表現JSON 詳細表現

single, int8, uint8, int16, uint16,

int32, uint32, int64, uint64

簡易表現なし
{
    "mwdata": [JSON number],
    "mwsize": [1,1],
    "mwtype": "single" | "int8" | "uint8"  | "int16" | "uint16" | 
             "int32" | "uint32" | "int64" | "uint64"
}
doubleJSON 数値
{
    "mwdata": [JSON number],
    "mwsize": [1,1],
    "mwtype": "double" 
}

MATLAB データ: スカラー数値

JSON 簡易表現JSON 詳細表現
int8(23)簡易表現なし
{
    "mwdata": [23],
    "mwsize": [1,1],
    "mwtype": "int8"
}
uint8(27)簡易表現なし
{
    "mwdata": [27],
    "mwsize": [1,1],
    "mwtype": "uint8"
}
single(20.15)簡易表現なし
{
    "mwdata": [20.15],
    "mwsize": [1,1],
    "mwtype": "single"
}
intmax('int64')簡易表現なし
{
    "mwdata": [9223372036854775807],
    "mwsize": [1,1],
    "mwtype": "int64"
}
double(12.905)12.905
{
    "mwdata": [12.905],
    "mwsize": [1,1],
    "mwtype": "double" 
}
4242
{
    "mwdata": [42],
    "mwsize": [1,1],
    "mwtype": "double" 
}

多次元数値型: doublesingle、および整数

  • mwdata プロパティは、多次元配列のデータを列優先の順序で含む JSON 配列でなければなりません。この順序は、MATLAB の既定のメモリ レイアウトに対応しています。

  • 簡易表現を使用する場合、N 行 1 列の double 配列を除き、入れ子にされた JSON 配列を使用して double 配列を表現する必要があります。

  • JSON 簡易表現を使用して多次元の single 型および整数型を表現することはできません。

MATLAB データ: 多次元 double 配列

JSON 簡易表現JSON 詳細表現
[1,2,3;...
 4,5,6]
[[1,2,3],[4,5,6]]
{
    "mwdata":[1,4,2,5,3,6],
    "mwsize":[2,3],
    "mwtype":"double"
}
[1, NaN, -Inf;...
 2, 105,  Inf]
[[1,{"mwdata": "NaN"},{"mwdata": "-Inf"}],[2,105,{"mwdata": "Inf"}]]
{
    "mwdata":[1, 2, "NaN", 105, "-Inf", "Inf"],
    "mwsize":[2,3],
    "mwtype":"double"
}
[ 1 2; 4 5; 7 8 ]
[[1, 2], [4, 5], [7, 8]]
{
    "mwdata":[1,4,7,2,5,8],
    "mwsize":[3,2],
    "mwtype":"double"
}
a(:,:,1) =
 
     1     2
     3     4
     5     6
 
a(:,:,2) =
 
     7     8
     9     10
     11    12
[[[1,7],[2,8]],[[3,9],[4,10]],[[5,11],[6,12]]]
{
    "mwdata":[1,3,5,2,4,6,7,9,11,8,10,12],
    "mwsize":[3,2,2],
    "mwtype":"double"
}
[17;500]
[17,500]
{
    "mwdata":[17,500],
    "mwsize":[2,1],
    "mwtype":"double"
}
[17,500]
[[17,500]]
{
    "mwdata":[17,500],
    "mwsize":[1,2],
    "mwtype":"double"
}

数値型: NaNInf、および -Inf

  • NaNInf、および -Inf は、基となる MATLAB クラスが double または single のいずれかのみである数値型です。NaNInf、および -Inf を MATLAB で整数型として表現することはできません。

MATLAB データ: 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 プロパティには、doublesingleint8uint8int16uint16int32uint32int64uint64 のいずれかを使用できます。

  • 簡易表現を使用して複素数を表現することはできません。

複素数の 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 行 n 列の文字配列を簡易表現で表現できます。

  • 多次元文字配列を詳細表現で表現することはできません。

char の JSON 表現

MATLAB データ型JSON 簡易表現 (スカラーおよび 1 次元文字配列)JSON 詳細表現
charJSON string
{
   "mwdata": [JSON string],
   "mwsize": [<char dimensions>],
   "mwtype": "char"
}

MATLAB データ: スカラーおよび 1 次元文字配列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": [2,6],
    "mwtype": "char"
}

logical

  • mwdata プロパティには、JSON ブール値 true または false のみが含まれなければなりません。多次元の logical データの場合、列優先の順序で値を表現します。

  • mwtype プロパティは、値 logical をもたなければなりません。

  • 簡易表現では、入れ子にされた JSON 配列を使用して多次元 logical 配列を表現する必要があります。

logical の JSON 表現

MATLAB データ型JSON 簡易表現JSON 詳細表現
logicaltrue | false
{
   "mwtype": "logical",
   "mwsize": [1,1],
   "mwdata": [true | false]
}

MATLAB データ: スカラーの logicalJSON 簡易表現JSON 詳細表現
logical(1) または truetrue
{
    "mwdata": [true],
    "mwsize": [1,1],
    "mwtype": "logical"
}
logical(0) または falsefalse
{
    "mwdata": [false],
    "mwsize": [1,1],
    "mwtype": "logical"
}

MATLAB データ: 多次元 logical 配列JSON 簡易表現JSON 詳細表現
[true,false;...
 true,false;...
 true,false]
[[[true,false],[true,false],[true,false]]]
{
    "mwdata": [true,true,true,false,false,false],
    "mwsize": [3,2],
    "mwtype": "logical"
}

cell 配列

  • mwdata プロパティは、JSON 表現に cell の値を含む JSON array でなければなりません。

  • mwtype プロパティは、値 cell をもたなければなりません。

  • 簡易表現使用して cell 配列を表現することはできません。

    MATLAB データ型JSON 詳細表現
    cell
    {
        "mwdata": [<cell data>],
        "mwsize": [<cell dimensions>],
        "mwtype": "cell"
    }
    

  • cell 配列は詳細表現のみを使用して表現する必要がありますが、cell 要素のデータ型が簡易表現をサポートしている場合、cell 配列を JSON でエンコードするときに、その要素を簡易表現で表現できます。

    以下の表に例を示します。

    MATLAB データ: cell 配列一部の cell 要素が簡易表現である JSON 詳細表現すべての cell 要素が詳細表現である JSON 詳細表現
    {'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 (MATLAB) を参照してください。

構造体配列

  • mwdata プロパティは、名前と値のペアを含む JSON オブジェクトでなければなりません。ここで、名前は struct 内の "フィールド" と一致し、値はフィールド内のデータを表現する JSON 配列です。

  • mwtype プロパティは、値 struct をもたなければなりません。

  • 多次元の struct 配列は JSON 詳細表現を使用して表現する必要がありますが、struct 値のデータ型が簡易表現をサポートしている場合、struct を JSON でエンコードするときに、その値を簡易表現で表現できます。

  • スカラーの struct のみを簡易表現で表現できます。

    struct 配列の JSON 表現

    MATLAB データ型JSON 簡易表現 (スカラーの struct でのみ有効)JSON 詳細表現
    structJSON オブジェクト
    {       
        "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 列の構造体配列一部の struct 値が詳細表現である JSON 簡易表現すべての struct 値が詳細表現である JSON 詳細表現
    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 データ: 多次元構造体配列一部の struct 値が簡易表現である JSON 詳細表現すべての struct 値が詳細表現である JSON 詳細表現
    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 (MATLAB) を参照してください。

string 配列

  • mwdata プロパティは、string を列優先の順序で含む JSON 配列でなければなりません。

  • mwtype プロパティは、値 string をもたなければなりません。

  • 簡易の JSON 表現を使用して string 配列を表現することはできません。

    string 配列の JSON 表現

    MATLAB データ型JSON 詳細表現
    string
    {
        "mwdata": [JSON string],
        "mwsize": [<string dimensions>],
        "mwtype": "string"
    }
    

    MATLAB データ: スカラー配列、1 次元配列、多次元配列、および missing (MATLAB) 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 (MATLAB) を参照してください。

列挙

  • mwdata プロパティは、列挙メンバーを表す string の JSON 配列でなければなりません。

  • mwtype プロパティは、配列内で列挙のクラスに設定しなければなりません。

  • 簡易の JSON 表現を使用して enumeration を表現することはできません。

    enumeration の JSON 表現

    MATLAB データ型JSON 詳細表現
    enumeration
    {  
        "mwdata": [JSON string],
        "mwsize": [<enumeration dimensions>],
        "mwtype": "<class name of enumeration>"
    }

    以下の表に、enumeration の JSON 表現の例を示します。

    次の列挙をこれらの例に使用しています。詳細については、列挙クラスの定義 (MATLAB)を参照してください。

    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 (MATLAB) を参照してください。

datetime 配列

  • mwdata プロパティは、TimeStamp およびオプションで LowOrderTimeStamp の名前と値のペアを含む JSON オブジェクトでなければなりません。TimeStamp および LowOrderTimeStamp の値は、double データ型の JSON 表現です。

    • TimeStamp プロパティの値は、1970 年 1 月 1 日 00:00:00 UTC (協定世界時) 以降に経過したミリ秒単位の POSIX 時間を表します。

    • LowOrderTimeStamp プロパティの値は、タイムスタンプの追加の分解能を表します。このプロパティを使用して、ミリ秒を超える精度を維持します。

    • datetime 配列は詳細表現のみを使用して表現する必要がありますが、TimeStamp および LowOrderTimeStamp は簡易表現をサポートしている double データ型の値を表現するため、datetime 配列を JSON でエンコードするときに、簡易表現を使用して TimeStamp および LowOrderTimeStamp を表現できます。

  • mwmetadata プロパティは、TimeZone および Format の名前と値のペアを含む JSON オブジェクトでなければなりません。TimeZone および Format の値は、char データ型の JSON 表現です。

    • TimeZone プロパティおよび Format プロパティの値には、元の表示形式で MATLAB のタイムゾーンを使用して datetime 値を再作成するために必要なメタデータが含まれます。TimeStamp 配列および LowOrderTimeStamp 配列に含まれる数値は UTC を基準として計算されるため、このメタデータは必要です。

    • NaT 配列および Inf datetime 配列の値の TimeZone プロパティおよび Format プロパティを指定できます。

    • datetime 配列は詳細表現のみを使用して表現する必要がありますが、TimeZone および Format は簡易表現をサポートしている char データ型の値を表現するため、datetime 配列を JSON でエンコードするときに、簡易表現を使用して TimeZone および Format を表現できます。

    • TimeZone の値を空にできます。

    • Format の既定値は、システム ロケールによって異なります。詳細については、既定の datetime 形式 (MATLAB)を参照してください。

  • mwtype プロパティは、値 datetime をもたなければなりません。

  • 簡易の JSON 表現を使用して datetime 配列を表現することはできません。

    datetime 配列の JSON 表現

    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 配列簡易表現の mwdata および mwmetadata がある JSON 詳細表現詳細表現の mwdata および mwmetadata がある JSON 詳細表現
    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"
    }

    以下の表に、datetime 行ベクトルの JSON 表現を示します。LowOrderTimeStamp および TimeStamp には double 値が含まれるため、LowOrderTimeStamp および TimeStamp の多次元 (N 行 1 列を除く) 配列を簡易表現で表現する場合は、入れ子にされた JSON 配列を使用する必要があります。

    MATLAB データ: datetime 行ベクトル簡易表現の mwdata および mwmetadata がある JSON 詳細表現詳細表現の mwdata および mwmetadata がある JSON 詳細表現
    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 列ベクトル簡易表現の mwdata および mwmetadata がある JSON 詳細表現詳細表現の mwdata および mwmetadata がある JSON 詳細表現
    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 配列

    簡易表現の mwdata および mwmetadata がある JSON 詳細表現詳細表現の mwdata および mwmetadata がある JSON 詳細表現
    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 (MATLAB) を参照してください。

空の配列: []

  • 空の配列 []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>"     
}

関連するトピック

外部の Web サイト