Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JSONの読み解き方

C0c0e8e4d7f83912cb1b1a0699df82a5?s=47 MiyakeMito
February 19, 2021

 JSONの読み解き方

Power Apps での JSON 攻略法

C0c0e8e4d7f83912cb1b1a0699df82a5?s=128

MiyakeMito

February 19, 2021
Tweet

Transcript

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

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

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

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

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

  6. JSONむずい

  7. JSONってままならない Keyと値はそこにある、 見えている、 でもデータ階層が深すぎて 思った通りに値が取得できない! ← 例えば、利根川の長さとか… 国名.地理.河川・・・・?? {"国名":"日本", "地理":{"地域":"アジア",

    "面積":377900, "人口":126925843, "河川":[{"順位":1, "名前":"信濃川", "長さ":367}, {"順位":2, "名前":"利根川", "長さ":322}, {"順位":3, "名前":"石狩川", "長さ":268}]}}
  8. JSON対策

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

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

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

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

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

  14. 3つのパターン パターン 対策 例 ① (データ先頭の) { Key First(collection).Key {

    "国名": "日本", ② Key1:{ Key2: Key1.Key2 "地理": { "地域": "アジア", ③ Key1:[ { Key2: Lookup( ).Key2 Last(FirstN( ),添字).Key2 など "河川": [ { "順位":1, 左上から右下に向かって、パターンで攻略する
  15. パターン① -データ先頭の「 { 」 コレクションをFirst()で囲み、後ろに「 . 」とKeyをつける。 { Key :

    Value, Value = First(collection).Key
  16. Value = key1.Key2 パターン② -データ中の「 { 」 Key1 と Key2

    を「 . 」でつなげる。 Key1:{ Key2: Value,
  17. Value = Lookup(key1,条件) パターン③ -データ中の「 [ { 」 コレクションをLookup()で囲み、後ろに「 .

    」とKeyをつける。 Last(FirstN()) もおすすめ。 https://qiita.com/yamad365/items/11e9cece46df161138a0 Key1:[ { Key2: Value, .Key2 Value = Last(FirstN(key1),添字).Key2
  18. パターン③ -データ中の「 [ { 」 また、 ギャラリーの Itemプロパティに 設定すると、一覧表示が可能。

  19. 実践

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

  21. 応用① -データ先頭の「 [ { 」 パターン③と同じ。 [ { Key :

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

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

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

  25. ありがとうございました