Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
JSONの読み解き方
MiyakeMito
February 19, 2021
Technology
1
570
JSONの読み解き方
Power Apps での JSON 攻略法
MiyakeMito
February 19, 2021
Tweet
Share
More Decks by MiyakeMito
See All by MiyakeMito
miyakemito
0
95
Other Decks in Technology
See All in Technology
hito58
1
730
koukyo1994
2
380
viva_tweet_x
1
400
eayedi
2
140
miyake
1
410
clustervr
0
140
pg0084
1
130
line_developers
PRO
0
170
sat
40
29k
myajiri
0
310
ihcomega56
1
510
picardparis
4
2.3k
Featured
See All Featured
productmarketing
5
720
orderedlist
PRO
328
36k
jonrohan
1021
380k
tammielis
237
23k
sachag
267
17k
shlominoach
176
7.5k
dotmariusz
94
5.5k
lauravandoore
10
1.5k
marktimemedia
7
390
chriscoyier
779
240k
marcelosomers
221
15k
62gerente
587
200k
Transcript
JSONの読み解き方 Power Apps での JSON 攻略法
自己紹介 株式会社アイシーソフト https://www.icsoft.jp/ @MiTo60448639 https://qiita.com/MiyakeMito 好き:家庭用アプリ開発 ドライブ 塊魂
目標 Power Apps で 複雑な JSON からでも 目的の値を スマート に取得できる
いきさつ 『おうじゃさんといっしょ』コミュニティで JSON 三宅 なる二つ名を与えられたため
いきさつ 他にも ライセンスのふらり さん アフリカの小林 さん などなど、いらして楽しいです https://oujasan-to-issho.connpass.com/ #おうじゃさんといっしょ
JSONむずい
JSONってままならない Keyと値はそこにある、 見えている、 でもデータ階層が深すぎて 思った通りに値が取得できない! ← 例えば、利根川の長さとか… 国名.地理.河川・・・・?? {"国名":"日本", "地理":{"地域":"アジア",
"面積":377900, "人口":126925843, "河川":[{"順位":1, "名前":"信濃川", "長さ":367}, {"順位":2, "名前":"利根川", "長さ":322}, {"順位":3, "名前":"石狩川", "長さ":268}]}}
JSON対策
パターン化して読み解く 階層構造をパターン化 まずは、3パターン!
でもその前に JSONは整形した方がいい Visual Studio Code がおすすめ https://azure.microsoft.com/ja-jp/products/visual-studio-code/ JSON形式 ⇒ ドキュメントのフォーマット
見やすさアップ! • 各階層が整列する • KeyとValueが色分けされる • {(波かっこ)や、[(角かっこ)の 開始と終了が認識できる など
準備 JSONはコレクションに入れる ▪ Collect (collection名,JSONデータ) ▪ ClearCollect (collection名,JSONデータ)
準備 今回は、 Power Automate を呼び出し、 『応答』でJSONを作成した後、 コレクションに格納しました。
3つのパターン パターン 対策 例 ① (データ先頭の) { Key First(collection).Key {
"国名": "日本", ② Key1:{ Key2: Key1.Key2 "地理": { "地域": "アジア", ③ Key1:[ { Key2: Lookup( ).Key2 Last(FirstN( ),添字).Key2 など "河川": [ { "順位":1, 左上から右下に向かって、パターンで攻略する
パターン① -データ先頭の「 { 」 コレクションをFirst()で囲み、後ろに「 . 」とKeyをつける。 { Key :
Value, Value = First(collection).Key
Value = key1.Key2 パターン② -データ中の「 { 」 Key1 と Key2
を「 . 」でつなげる。 Key1:{ Key2: Value,
Value = Lookup(key1,条件) パターン③ -データ中の「 [ { 」 コレクションをLookup()で囲み、後ろに「 .
」とKeyをつける。 Last(FirstN()) もおすすめ。 https://qiita.com/yamad365/items/11e9cece46df161138a0 Key1:[ { Key2: Value, .Key2 Value = Last(FirstN(key1),添字).Key2
パターン③ -データ中の「 [ { 」 また、 ギャラリーの Itemプロパティに 設定すると、一覧表示が可能。
実践
First(JsonData) .河川 Lookup( , 名前= “利根川”).長さ .地理 = 322
応用① -データ先頭の「 [ { 」 パターン③と同じ。 [ { Key :
Value, Value = Lookup(collection).Key Value = Last(FirstN(collection),添字).Key
応用② -データ中の「 [ 」 配列です。添え字を指定して値を取得したいので・・・ [ Value, Value = Last(FirstN(collection),添字).Key
まとめ JSONから目的の値を取得する方法は パターン化で対応できる
本日の内容 ▪ Power AppsでもJSONと仲良くなるために https://qiita.com/MiyakeMito/items/ffcc7639b2813dee77ca ▪ Visual Studio CodeでJSONを表示する方法(自分用メモ https://qiita.com/MiyakeMito/items/3b169908ed36256b3ec6
ありがとうございました