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
circled9
October 14, 2017
Technology
1k
0
Share
改行区切りのJSON
JSON日の金曜日@新潟 9週目で発表した資料です。
circled9
October 14, 2017
More Decks by circled9
See All by circled9
キースイッチ入門
circled9
0
100
CloudflareのAI関連の機能さわってみた
circled9
0
880
0.0.0.0 day
circled9
0
130
小数の丸め誤差の話
circled9
0
150
数値の文字列をパースしよう
circled9
0
270
🔥 Hono v4 やってみた
circled9
1
230
JetBrains AI Assistant を試してみた
circled9
1
580
Fresh
circled9
0
270
React Hooks 勉強会 vol.3
circled9
2
460
Other Decks in Technology
See All in Technology
AIが盛んな時代に 技術記事を書き始めて起きた私の中での小さな変化
peintangos
0
320
Rapid Start: Faster Internet Connections, with Ruby's Help
kazuho
2
920
バイブコーディングで3倍早く⚪⚪を作ってみた
samakada
0
200
ハーネスエンジニアリングの概要と設計思想
sergicalsix
9
6.4k
「責任あるAIエージェント」こそ自社で開発しよう!
minorun365
10
2.5k
独断と偏見で試してみる、 シングル or マルチエージェント どっちがいいの?
shichijoyuhi
1
200
AI時代 に増える データ活用先
takahal
0
340
20260423_執筆の工夫と裏側 技術書の企画から刊行まで / From the planning to the publication of technical book
nash_efp
3
650
AIが自律的に働く時代へ Amazon Quick で実現するAIエージェント紹介
koheiyoshikawa
0
150
アクセシビリティはすべての人のもの
tomokusaba
0
130
Chasing Real-Time Observability for CRuby
whitegreen
0
300
エージェントスキルを作って自分のインプットに役立てよう
tsubakimoto_s
0
480
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Design in an AI World
tapps
1
200
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
120
We Are The Robots
honzajavorek
0
220
Context Engineering - Making Every Token Count
addyosmani
9
850
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
730
Documentation Writing (for coders)
carmenintech
77
5.3k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
190
Evolving SEO for Evolving Search Engines
ryanjones
0
180
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
260
Transcript
վߦ۠ΓͷJSON @circled9 2017-10-13 #friday13json
ࣗݾհ.json { "name": "Matsui Masashi", "twitter": ["@circled9", "@ma_2_i"], "language": ["javascript",
"ruby"], }
Agenda • ͡Ίʹ • େମڞ௨ͯ͠Δ͜ͱ • ֤ϑΥʔϚοτͷհ • ·ͱΊ
͡Ίʹ
վߦ۠ΓͷJSON • վߦΛ۠Γจࣈͱͯ͠ѻ͏ϑΥʔϚοτ • ֤ߦvalidͳJSONͷ͕ॻ͔Ε͍ͯΔ • վߦ͠ͳ͍ͷͰɺՄಡੑ͋·Γॏࢹ͍ͯ͠ ͳ͍
վߦ۠ΓͷJSONͷαϯϓϧ {"some":"thing"} {"foo":17,"bar":false,"quux":true} {"may":{"include":"nested","objects":["and","arrays"]}}
ͳͥվߦͰ۠Δͷ͔ • JSONΛύʔε͢ΔʹɺϑΝΠϧͷ࠷ޙ·Ͱ ಡΈࠐ·ͳ͍ͱ͍͚ͳ͍ • վߦจࣈͰ۠Δ͜ͱʹΑͬͯɺϑΝΠϧΛ ෦తʹύʔεͰ͖ΔΑ͏ʹͳΔ
ϝϦοτ • ฒߦॲཧͰͷಡΈॻ͖͕͘͢͠ͳΔ • ֤ߦࠓ·ͰͷJSONͱมΘΒͳ͍ͷͰɺطଘ ͷࢿ࢈͕ੜ͔͍͢͠ • CSV/TSVͱൺֱ͢Δͱɺ֤ߦ͕දݱͰ͖Δ ༰͕ॊೈʹͳΔ
େମڞ௨ͯ͠Δ͜ͱ
ڞ௨͢Δܾ·Γ͝ͱ • ۠Γจࣈվߦจࣈ • ֤ߦվߦΛؚ·ͳ͍validͳJSONͷ • ΤϯίʔσΟϯάUTF-8
վߦจࣈ • LF (\n) ʹ͓͚ͯ͠ແ • CR+LF (\r\n) Ͱͳ͍ •
CR (\r) ͩͱ·͍ͣ͜ͱ͕͋Γͦ͏ • Mac OS 9ͳΜͯී௨ͬͯ·ͤΜͶ
վߦจࣈ • CRΛ۠Γจࣈͱͯ͠ѻ͏͔ɺ֤ϑΥʔϚο τʹΑͬͯҟͳΔ • ͔͠͠ɺҎԼͷཧ༝͔ΒCR+LFͰ࣮࣭ͳ͍ • ۭߦແࢹ͢Δͷ͕௨ྫ • JSONͷύʔε࣌ʹۭനจࣈআڈ͞ΕΔ
֤ϑΥʔϚοτͷհ
֤ϑΥʔϚοτͷհ • NDJSON • LDJSON • JSON Lines • NDJ
NDJSON • MediaType application/x-ndjson • ֦ுࢠ .ndjson • CRվߦͱͯ͠ݟͳ͢
LDJSON • NDJSONͷաڈͷݺͼ໊ • MediaType application/x-ldjson • ֦ுࢠ .ldjson
JSON Lines • MediaType ಛʹݴٴͳ͠ • ֦ுࢠ .jsonl • ѹॖͯ͠
.jsonl.gz .jsonl.bz2 ͱͯ͠৴ ͢Δ͜ͱਪͯ͠Δ • CRվߦͱͯ͠ݟͳ͞ͳ͍
NDJ • MediaType ಛʹݴٴͳ͠ • ֦ுࢠ .ndj • ࠷ॳͷ1ߦʹ //
Ͱίϝϯτ͕ॻ͚Δ • CRվߦͱͯ͠ݟͳ͞ͳ͍
·ͱΊ
·ͱΊ • վߦ۠ΓͷJSONͩͱฒߦॲཧͱ͔͕ḿΔ • վߦ۠ΓͷJSON͍͔ͭ͘ϑΥʔϚοτ͕ ͋Δ • ॻ͖ํͷ༷େମಉ͡
[EOF]
ࢀߟURL • NDJSON • http://specs.okfnlabs.org/ndjson/ • LDJSON • https://github.com/ndjson/ndjson-spec/commit/ c658c26ba15bea718228b5a3d54f0d4db22ec0ba
• JSON Lines • http://jsonlines.org/ • NDJ • http://jimbojw.com/t/index.php?title=Newline_delimited_JSON