Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
JSONの読み解き方
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
MiyakeMito
February 19, 2021
Technology
1.6k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JSONの読み解き方
Power Apps での JSON 攻略法
MiyakeMito
February 19, 2021
More Decks by MiyakeMito
See All by MiyakeMito
Power Automateアップデート情報
miyakemito
0
400
マルチステージとAI承認について
miyakemito
1
220
Copilot Studioについて
miyakemito
8
10k
Dataverseの検索列について
miyakemito
2
2.1k
AI Builder について
miyakemito
3
1.2k
Microsoft Copilot Studio についてざっくり説明
miyakemito
2
1.9k
Power Automateのデータ操作(Data Operation)について (Ver.モダンデザイナー)
miyakemito
5
4.2k
JSON攻略法.pdf
miyakemito
13
7.4k
ガンダムBotを1分でつくってみせろよ
miyakemito
1
940
Other Decks in Technology
See All in Technology
Code for Security プロジェクト紹介 2026年10月
yu23ki14
0
110
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
340
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
120
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
1
200
Getting Started with Google Antigravity
glaforge
0
310
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
190
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
170
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
Metadata - Section 1: HTML Basics
mohab1
0
120
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
7
6k
AI時代のPRレビューにどう向き合うか?
kairim0
1
240
Featured
See All Featured
Ruling the World: When Life Gets Gamed
codingconduct
0
400
Building AI with AI
inesmontani
PRO
1
1.3k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Accessibility Awareness
sabderemane
1
250
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
HDC tutorial
michielstock
2
960
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
The SEO identity crisis: Don't let AI make you average
varn
0
590
The Curious Case for Waylosing
cassininazir
1
570
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
ありがとうございました