res2dict ¶
APIレスポンスを差分比較に必要なdictへ変換します。
json¶
JSONレスポンスをdictに変換します。
Config¶
Definitions¶
Key | Type | Description | Example | Default |
---|---|---|---|---|
force | (bool) | 変換する必要がないケース でも強制的に変換するか | true | false |
force
変換する必要がないケース
以下のいずれかに一致する場合
- レスポンスのtypeがjsonではない
- 既にアドオンでdict型に変換済みの場合
Examples¶
レスポンスがJSONの場合 dictに変換する¶
res2dict:
- name: json
変換する必要がないケースでも強制的に変換する¶
res2dict:
- name: json
config:
force: true
xml¶
XMLレスポンスをdictに変換します。
Config¶
Definitions¶
Key | Type | Description | Example | Default |
---|---|---|---|---|
force | (bool) | 変換する必要がないケース でも強制的に変換するか | true | false |
force
変換する必要がないケース
以下のいずれかに一致する場合
- レスポンスのtypeがxmlではない
- 既にアドオンでdict型に変換済みの場合
Examples¶
レスポンスがXMLの場合 dictに変換する¶
res2dict:
- name: xml
変換する必要がないケースでも強制的に変換する¶
res2dict:
- name: xml
config:
force: true
html¶
HTMLレスポンスをdictに変換します。
Config¶
Definitions¶
Key | Type | Description | Example | Default |
---|---|---|---|---|
force | (bool) | 変換する必要がないケース でも強制的に変換するか | true | false |
force
変換する必要がないケース
以下のいずれかに一致する場合
- レスポンスのtypeがhtmlではない
- 既にアドオンでdict型に変換済みの場合
Examples¶
レスポンスがHTMLの場合 dictに変換する¶
res2dict:
- name: html
変換する必要がないケースでも強制的に変換する¶
res2dict:
- name: html
config:
force: true
block¶
ブロック単位(空行で区切られた)のレスポンスをdictに変換します。
ブロック単位の定義は下記セクションを参照してください。
Config¶
Definitions¶
Key | Type | Description | Example | Default |
---|---|---|---|---|
header_regexp | string | ヘッダ行のキーを抽出する正規表現 | ^\d+)(.+) |
|
record_regexp | string | レコード行のkey/valueを抽出する正規表現 | ([^ ]+) (.+) |
|
force | (bool) | 変換する必要がないケース でも強制的に変換するか | true | false |
header_regexpの正規表現について
グループを1つ定義してください
record_regexpの正規表現について
グループを2つ定義してください. 1つ目がkey 2つ目がvalueになります
force
変換する必要がないケース
以下のいずれかに一致する場合
- 既にアドオンでdict型に変換済みの場合
Examples¶
INIファイルっぽい形式に変換する¶
res2dict:
- name: block
config:
header_regexp: '\[(.+)\]'
record_regexp: '([^:]+): (.+)'
ブロック単位のルール¶
- 1つ以上の空行で区切られた単位をブロック単位とする
- ブロックは1行のヘッダと1行以上のレコードで構成される
パターン1¶
変換対象¶
[Mimizou]
ID: 001
Name: Mimizou Aikawa
[Tatsuwo(GOD)]
ID: 002
Name: Tatsuwo Aikawa
configの設定¶
header_regexp: '\[(.+)\]'
record_regexp: '([^:]+): (.+)'
変換後¶
{
"Mimizou": {
"ID": "001",
"Name": "Mimizou Aikawa"
},
"Tatsuwo(GOD)": {
"ID": "002",
"Name": "Tatsuwo Aikawa"
}
}
パターン2¶
変換対象¶
1)Mimizou
ID 001
Name Mimizou Aikawa
12)Tatsuwo(GOD)
ID 002
Name Tatsuwo Aikawa
configの設定¶
header_regexp: '^\d+\)(.+)'
record_regexp: '([^ ]+) (.+)'
変換後¶
{
"Mimizou": {
"ID": "001",
"Name": "Mimizou Aikawa"
},
"Tatsuwo(GOD)": {
"ID": "002",
"Name": "Tatsuwo Aikawa"
}
}