Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
JSONの読み解き方
Search
MiyakeMito
February 19, 2021
Technology
1
1.5k
JSONの読み解き方
Power Apps での JSON 攻略法
MiyakeMito
February 19, 2021
Tweet
Share
More Decks by MiyakeMito
See All by MiyakeMito
Dataverseの検索列について
miyakemito
2
410
AI Builder について
miyakemito
2
770
Microsoft Copilot Studio についてざっくり説明
miyakemito
2
1.1k
Power Automateのデータ操作(Data Operation)について (Ver.モダンデザイナー)
miyakemito
5
3.5k
JSON攻略法.pdf
miyakemito
13
6.9k
ガンダムBotを1分でつくってみせろよ
miyakemito
1
690
Microsoft Copilot Studio について
miyakemito
0
7.8k
承認コネクタについて
miyakemito
2
1k
Power Platform の Microsoft 365 Copilot について
miyakemito
0
2k
Other Decks in Technology
See All in Technology
MCPで変わる Amebaデザインシステム「Spindle」の開発
spindle
PRO
2
2.1k
ライブサービスゲームQAのパフォーマンス検証による品質改善の取り組み
gree_tech
PRO
0
430
制約理論(ToC)入門
recruitengineers
PRO
9
3.7k
おやつは300円まで!の最適化を模索してみた
techtekt
PRO
0
260
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
10
5.4k
事業価値と Engineering
recruitengineers
PRO
8
5.4k
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
220
AWSで推進するデータマネジメント
kawanago
0
850
LLM翻訳ツールの開発と海外のお客様対応等への社内導入事例
gree_tech
PRO
0
440
7月のガバクラ利用料が高かったので調べてみた
techniczna
3
820
Language Update: Java
skrb
2
210
モバイルアプリ研修
recruitengineers
PRO
5
1.7k
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Navigating Team Friction
lara
189
15k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Visualization
eitanlees
147
16k
Code Review Best Practice
trishagee
70
19k
A Tale of Four Properties
chriscoyier
160
23k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Side Projects
sachag
455
43k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Writing Fast Ruby
sferik
628
62k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
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
ありがとうございました