Slide 1

Slide 1 text

JSONの読み解き方 Power Apps での JSON 攻略法

Slide 2

Slide 2 text

自己紹介 株式会社アイシーソフト https://www.icsoft.jp/ @MiTo60448639 https://qiita.com/MiyakeMito 好き:家庭用アプリ開発 ドライブ 塊魂

Slide 3

Slide 3 text

目標 Power Apps で 複雑な JSON からでも 目的の値を スマート に取得できる

Slide 4

Slide 4 text

いきさつ 『おうじゃさんといっしょ』コミュニティで JSON 三宅 なる二つ名を与えられたため

Slide 5

Slide 5 text

いきさつ 他にも ライセンスのふらり さん アフリカの小林 さん などなど、いらして楽しいです https://oujasan-to-issho.connpass.com/ #おうじゃさんといっしょ

Slide 6

Slide 6 text

JSONむずい

Slide 7

Slide 7 text

JSONってままならない Keyと値はそこにある、 見えている、 でもデータ階層が深すぎて 思った通りに値が取得できない! ← 例えば、利根川の長さとか… 国名.地理.河川・・・・?? {"国名":"日本", "地理":{"地域":"アジア", "面積":377900, "人口":126925843, "河川":[{"順位":1, "名前":"信濃川", "長さ":367}, {"順位":2, "名前":"利根川", "長さ":322}, {"順位":3, "名前":"石狩川", "長さ":268}]}}

Slide 8

Slide 8 text

JSON対策

Slide 9

Slide 9 text

パターン化して読み解く 階層構造をパターン化 まずは、3パターン!

Slide 10

Slide 10 text

でもその前に JSONは整形した方がいい Visual Studio Code がおすすめ https://azure.microsoft.com/ja-jp/products/visual-studio-code/ JSON形式 ⇒ ドキュメントのフォーマット

Slide 11

Slide 11 text

見やすさアップ! • 各階層が整列する • KeyとValueが色分けされる • {(波かっこ)や、[(角かっこ)の 開始と終了が認識できる など

Slide 12

Slide 12 text

準備 JSONはコレクションに入れる ■ Collect (collection名,JSONデータ) ■ ClearCollect (collection名,JSONデータ)

Slide 13

Slide 13 text

準備 今回は、 Power Automate を呼び出し、 『応答』でJSONを作成した後、 コレクションに格納しました。

Slide 14

Slide 14 text

3つのパターン パターン 対策 例 ① (データ先頭の) { Key First(collection).Key { "国名": "日本", ② Key1:{ Key2: Key1.Key2 "地理": { "地域": "アジア", ③ Key1:[ { Key2: Lookup( ).Key2 Last(FirstN( ),添字).Key2 など "河川": [ { "順位":1, 左上から右下に向かって、パターンで攻略する

Slide 15

Slide 15 text

パターン① -データ先頭の「 { 」 コレクションをFirst()で囲み、後ろに「 . 」とKeyをつける。 { Key : Value, Value = First(collection).Key

Slide 16

Slide 16 text

Value = key1.Key2 パターン② -データ中の「 { 」 Key1 と Key2 を「 . 」でつなげる。 Key1:{ Key2: Value,

Slide 17

Slide 17 text

Value = Lookup(key1,条件) パターン③ -データ中の「 [ { 」 コレクションをLookup()で囲み、後ろに「 . 」とKeyをつける。 Last(FirstN()) もおすすめ。 https://qiita.com/yamad365/items/11e9cece46df161138a0 Key1:[ { Key2: Value, .Key2 Value = Last(FirstN(key1),添字).Key2

Slide 18

Slide 18 text

パターン③ -データ中の「 [ { 」 また、 ギャラリーの Itemプロパティに 設定すると、一覧表示が可能。

Slide 19

Slide 19 text

実践

Slide 20

Slide 20 text

First(JsonData) .河川 Lookup( , 名前= “利根川”).長さ .地理 = 322

Slide 21

Slide 21 text

応用① -データ先頭の「 [ { 」 パターン③と同じ。 [ { Key : Value, Value = Lookup(collection).Key Value = Last(FirstN(collection),添字).Key

Slide 22

Slide 22 text

応用② -データ中の「 [ 」 配列です。添え字を指定して値を取得したいので・・・ [ Value, Value = Last(FirstN(collection),添字).Key

Slide 23

Slide 23 text

まとめ JSONから目的の値を取得する方法は パターン化で対応できる

Slide 24

Slide 24 text

本日の内容 ■ Power AppsでもJSONと仲良くなるために https://qiita.com/MiyakeMito/items/ffcc7639b2813dee77ca ■ Visual Studio CodeでJSONを表示する方法(自分用メモ https://qiita.com/MiyakeMito/items/3b169908ed36256b3ec6

Slide 25

Slide 25 text

ありがとうございました