0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Automation 360のJSON Object Manager

Last updated at Posted at 2021-07-18

はじめに

https://qiita.com/etoootak/items/71a83c906ae247863d25
の続きです。
今度は「JSON Object Manager」を使ってみます。

手順

やった操作例は前回と同じ。A360のコントロールルームのRESTの戻りJSONを操作します。
$RestResponse{Body}$にJSONが入っているものとします。

(1)JSON Object Manager: Initialize

  • JSON Object stringに「$RestResponse{Body}$」を指定。
  • Return stringに適当な文字変数を指定して、Initializeの結果を受ける。
  • Initialize成功時は、戻りに「Success」が返ります。

(2)JSON Object Manager: Query

  • Initializeの後、Queryを発行。
  • 例えば以下のJSONがあった場合、「ログイン用のID」を取得するためにJSON query stringに「user.username」を指定する。
  • 「return string」に指定した文字列変数に結果が返る。
{
 "token":"eyJhb(認証トークンの文字列)HIqh9w",
 "user":{"id":999999,"username":"ログイン用のID","domain":null,
        "version":32,"principalId":7777777,"deleted":false,
  "roles":[
    {"name":"AAE_Bot Insight Expert","id":801634,"version":1},
    {"name":"CE_user","id":801648,"version":0}
    ], ....
  • Queryの戻りは文字列変数な点に注意。
  • 例えば「user.id」でQueryすると戻りの文字列変数に、文字列として999999が返る。

前回試したJSON Paserではちゃんと数字型で返っていたけど、こちらは全部文字列になる。

その他Tips

前述のJSONではrolesの中に要素が2個ある。この個数を調べたい場合はQueryでuser.roles.length()と書く。これも文字列で返るのでループカウンタで使う場合は、数値に変換して使うこと。
と、BotStoreのJSON Object ManagerのReadmeに書いてある。

2個目のRoleのnameを取りたい場合はQueryで「user.roles[1].name」を指定。これで
CE_user
が返る。

rolesのような配列全体を取る事もできて、その場合「user.roles」を指定。これで
[{"name":"AAE_Bot Insight Expert","id":801634,"version":1},{"name":"CE_user","id":801648,"version":0}]
が返る。

などという話もBotStoreのJSON Object ManagerのReadmeに書いてあるので
Actionの説明ページ(以下のURL)にJSONの項が出るまでは、Readmeを参照。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?