ー JSON機能補足 ーCopyright© 2024 NTT Advanced Technology Corp. All Rights Reserved.

はじめに■ ユーザライブラリとして追加されたJSON機能の詳細動作を記載します。
・関連するユーザライブラリは下記のとおりです。
98_構造データ関連/01_JSON/
JSONファイル配列サイズ.ums7
JSONファイル配列読み取り.ums7
JSON変数ファイル保存.ums7
JSON変数新規オブジェクト.ums7
JSON変数新規配列.ums7
JSON変数要素追加.ums7
JSON変数読み取り.ums7
JSON変数配列サイズ.ums7
JSON変数配列要素追加.ums7
JSON変数配列読み取り.ums7
JSON形式書き込み.ums7
JSON形式読み取り.ums7

1
Copyright© 2024 NTT Advanced Technology Corp. All Rights Reserved.

JSON形式読み取り 読み取り結果(1/2)
JSONの各データ型が、「JSON形式読み取り」を使ってどのように読み取れるかを記載します。
「JSON形式読み取り」プロパティでは「JSON」と読み取り結果を格納する「変数」を指定します。
「型」はWinActorが自動判定します。

2
Copyright© 2024 NTT Advanced Technology Corp. All Rights Reserved.

JSON形式読み取り 読み取り結果(2/2)
表. key の読み取り結果
No

型（※２）

JSON（※１）

読み取り結果（※３）

1{ key : 123 }

整数値

123

2

{ key : 12.3 }

小数値

12.3

3

{ key : “123” }文字列“123”

4{ key : “null” }文字列“null”

5{ key : “” }

文字列“”

6

{ key : { sub : 123 } }オブジェクト{ sub : 123 }7{ key : [ 1, 2, 3 ] }配列[ 1, 2, 3 ]8{ key : true }

真偽値

true

9

{ key : null }Null値null※１ 読み取り対象のJSONです。
※２ JSONを読み取るときにWinActorが内部で自動判別する型です。判別結果は変数に保持されません。
※３ 読み取り結果として指定した変数に格納される値です。
注意：
No3,No4 文字列は ”” 付きで読み取られます。
No9 null値は null として読み取られます。

3
Copyright© 2024 NTT Advanced Technology Corp. All Rights Reserved.

JSON変数読み取り 読み取り結果(1/4)
「JSON 変数読み取り」では、従来動作の「値参照」目的の読み取りに加え、 「転記」目的の読み取り、「型判定」目的の読み取りが選択できるようになりました。
「JSON変数 読み取り」プロパティでは読み取り対象の「JSON」、読み取り対象の「キー」、「読み取り目的」、読み取り結果を格納する「変数」を指定します。

4
Copyright© 2024 NTT Advanced Technology Corp. All Rights Reserved.

JSON変数読み取り 読み取り結果(2/4)
表. key の読み取り結果（値参照目的選択時）
No型（※２）

JSON（※１）

読み取り結果（※３）

1{ key : 123 }

整数値

123

2

{ key : 12.3 }

小数値

12.3

3

{ key : “123” }

文字列

“123”

4

{ key : “null” }文字列“null”

5{ key : “” }

文字列

“”

6

{ key : { sub : 123 } }オブジェクト{ sub : 123 }7{ key : [ 1, 2, 3 ] }配列[ 1, 2, 3 ]8{ key : true }

真偽値

true

9

{ key : null }Null値null※１ 読み取り対象のJSONです。
※２ JSONを読み取るときにWinActorが内部で自動判別する型です。判別結果は変数に保持されません。
※３ 読み取り結果として指定した変数に格納される値です。
注意：
No3,No4 文字列は ”” 付きで読み取られます。
No9 null値は null として読み取られます。

「値参照」目的の読み取りでは、「JSON形式読み取り」の結果と同じになります。
5
Copyright© 2024 NTT Advanced Technology Corp. All Rights Reserved.

JSON変数読み取り 読み取り結果(3/4)
表. key の読み取り結果（転記目的選択時）
No型（※２）

JSON（※１）

読み取り結果（※３）

1{ key : 123 }

整数値

123

2

{ key : 12.3 }

小数値

12.3

3

{ key : “123” }

文字列

123

4

{ key : “null” }

文字列

null

5

{ key : “” }文字列

6

{ key : { sub : 123 } }オブジェクト{ sub : 123 }7{ key : [ 1, 2, 3 ] }配列[ 1, 2, 3 ]8{ key : true }

真偽値

true

9{ key : null }Null値※１ 読み取り対象のJSONです。
※２ JSONを読み取るときにWinActorが内部で自動判別する型です。判別結果は変数に保持されません。
※３ 読み取り結果として指定した変数に格納される値です。
注意：
No3,No4,No5 文字列は ””を取り除いて読み取られます。
No9 null値は 空文字として読み取られます。

「転記」目的の読み取りでは、そのまま転記できるように加工した情報を読み取ります。
6Copyright© 2024 NTT Advanced Technology Corp. All Rights Reserved.

JSON変数読み取り 読み取り結果(4/4)
表. key の読み取り結果（型判定目的選択時）
No型（※２）

JSON（※１）

読み取り結果（※３）

1{ key : 123 }整数値

INTEGER2{ key : 12.3 }

小数値

FLOAT

3

{ key : “123” }文字列

STRING4{ key : “null” }文字列

STRING5{ key : “” }文字列

STRING6{ key : { sub : 123 } }オブジェクトOBJECT7{ key : [ 1, 2, 3 ] }

配列

ARRAY

8

{ key : true }真偽値

BOOLEAN9{ key : null }

Null値

NULL

※１ 読み取り対象のJSONです。
※２ JSONを読み取るときにWinActorが内部で自動判別する型です。
※３ 読み取り結果として指定した変数に格納される値です。

「型判定」目的の読み取りでは、型の自動判定結果を読み取ります。
7
Copyright© 2024 NTT Advanced Technology Corp. All Rights Reserved.

JSON形式書き込み 書き込み結果（1/7）
JSONの各データ型が、「JSON形式書き込み」を使ってどのように書き込まれるかを記載します。
「JSON形式書き込み」プロパティでは「キー」と「型」と「値」を指定します。

8Copyright© 2024 NTT Advanced Technology Corp. All Rights Reserved.

JSON形式書き込み 書き込み結果（2/7）
表. key への書き込み結果（1/6）
No
1

型（※１）
整数値値（※２）123

書き込み結果（※３）{"key" : 1232

整数値12.3}
エラー3

整数値null

エラー

4

整数値

{

"key" : null
5小数値123}{※１ プロパティで指定する型です。
※２ プロパティで指定する値です。
※３ 指定した変数もしくはファイルに書き込まれるJSONです。

注意：
No2 整数値指定で小数値を書き込もうとした場合はエラーとなります。
No5 小数値指定で整数値を書き込もうとした場合は小数値が書き込まれます。
No3,No4,No7,No8 null値を書き込む場
合は、値を空にしてください。

"key" : 123.06

小数値12.3}{"key" : 12.37

小数値

8小数値null}エラー{"key" : null}

9Copyright© 2024 NTT Advanced Technology Corp. All Rights Reserved.

JSON形式書き込み 書き込み結果（3/7）
表. key への書き込み結果（2/6）
No
9型（※１）
文字列

値（※２）
123

書き込み結果（※３）{"key" : "123"

10文字列

12.3}
{
"key" : "12.3"

11文字列"123"}{"key" : "¥"123¥""

12文字列null}{"key" : "null"

13文字列}{※１ プロパティで指定する型です。
※２ プロパティで指定する値です。
※３ 指定した変数もしくはファイルに書き込まれるJSONです。

注意：No11 WinActor側で外側の“”を付与します。値に””が含まれる場合は二重に””で括られる結果となります。
No12,No13 文字列型では null値を書き込むことができません。値にnullを指定した場合は文字列の”null”として扱われます。値を空にした場合は文字列の””として扱われます。
null値を書き込む場合は「Null値」型を利用してください。

"key" : ""}10
Copyright© 2024 NTT Advanced Technology Corp. All Rights Reserved.

JSON形式書き込み 書き込み結果（4/7）
表. key への書き込み結果（3/6）
No
14型（※１）
値（※２）
オブジェクト { }書き込み結果（※３）{"key" : { }15オブジェクト { sub : 123 }}{"key" : {"sub" : 123}

16

オブジェクト 123}
エラー

17

オブジェクト null{※１ プロパティで指定する型です。
※２ プロパティで指定する値です。
※３ 指定した変数もしくはファイルに書き込まれるJSONです。

注意：
No16 オブジェクトを書き込む場合は{ } で括られた値を指定してください。
No17,No18 null値を書き込む場合は、値を空にしてください。No17でもnull値を書き込むことができますが、他の型での使い方と合わせてNo18の使い方を推奨いたします。

"key" : null
18オブジェクト}{"key" : null}

11Copyright© 2024 NTT Advanced Technology Corp. All Rights Reserved.

JSON形式書き込み 書き込み結果（5/7）
表. key への書き込み結果（4/6）
No
19型（※１）
配列

値（※２）
[]

書き込み結果（※３）{"key" : [ ]20

配列[ 1,2,3 ]}{"key" : [ 1, 2, 3 ]21

配列123}
エラー22配列null{※１ プロパティで指定する型です。
※２ プロパティで指定する値です。
※３ 指定した変数もしくはファイルに書き込まれるJSONです。

注意：
No21 配列を書き込む場合は[ ] で括られた値を指定してください。
No22,No23 null値を書き込む場合は、値を空にしてください。No22でもnull値を書き込むことができますが、他の型での使い方と合わせてNo23の使い方を推奨いたします。

"key" : null
23配列}{
"key" : null}

12Copyright© 2024 NTT Advanced Technology Corp. All Rights Reserved.

JSON形式書き込み 書き込み結果（6/7）
表. key への書き込み結果（5/6）
24型（※１）
真偽値

true25

真偽値

false26

真偽値

12327

真偽値

028

真偽値

-129

真偽値

abc30

真偽値

null31

真偽値

No値（※２）

書き込み結果（※３）{ "key" : true}{ "key" : false}{ "key" : false}{ "key" : false}{ "key" : false}{ "key" : false}{ "key" : false}{ "key" : null}※１ プロパティで指定する型です。
※２ プロパティで指定する値です。
※３ 指定した変数もしくはファイルに書き込まれるJSONです。

注意：No26,No27,No28,No29 エラーにはならずfalseが格納されます。意図しないJSONの出力となる可能性があるため、真偽値を書き込む場合は true もしくは false の値を指定してください。
No30,No31 null値を書き込む場合は、値を空にしてください。

13
Copyright© 2024 NTT Advanced Technology Corp. All Rights Reserved.

JSON形式書き込み 書き込み結果（7/7）
表. key への書き込み結果（6/6）
No
32型（※１）
Null値

値（※２）
123

書き込み結果（※３）{"key" : "123"

33

Null値

12.3}
{
"key" : "12.3"

34

Null値

"123"}{"key" : "¥"123¥""35

Null値null}{"key" : "null"

36

Null値

※１ プロパティで指定する型です。
※２ プロパティで指定する値です。
※３ 指定した変数もしくはファイルに書き込まれるJSONです。

注意：No32,No33,No34 「Null値」の型は、基本的には「文字列」の型を指定した時と同じ書き込み結果となります。
No35,No36 空の値を指定した時の動作が「文字列」の型と異なります。
null値を書き込む場合は、値を空にしてください。値にnullを指定した場合は文字列の”null”として扱われます。

}{"key" : null}

14Copyright© 2024 NTT Advanced Technology Corp. All Rights Reserved.

JSON機能補足

Copyright© 2024 NTT Advanced Technology Corp. All Rights Reserved.
本書は著作権法上の保護を受けています。本書の一部あるいは全部を無断で複写、複製することは禁じられています。
本書の内容は予告なく変更される場合があります。
WA7-C-20240308

Copyright© 2024 NTT Advanced Technology Corp. All Rights Reserved.