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
Matsui Masashi
October 14, 2017
Technology
0
790
改行区切りのJSON
JSON日の金曜日@新潟 9週目で発表した資料です。
Matsui Masashi
October 14, 2017
Tweet
Share
More Decks by Matsui Masashi
See All by Matsui Masashi
🔥 Hono v4 やってみた
circled9
1
58
JetBrains AI Assistant を試してみた
circled9
1
250
Fresh
circled9
0
190
React Hooks 勉強会 vol.3
circled9
2
340
JSON.stringify()
circled9
2
410
HTML
circled9
2
900
prefers-color-schemaの話
circled9
0
580
Bundle Transpile Rock'n'Roll
circled9
0
1.5k
Hello React hooks
circled9
0
690
Other Decks in Technology
See All in Technology
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
770
いつか使うかも貯金してたらめちゃめちゃ機能が増えてた話
riyaamemiya
0
330
長期間TiDBを使ってきた話 @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT / Experiences with TiDB Over Time
chibiegg
2
900
Janus
bkuhlmann
1
490
オーナーシップを持つ領域を明確にする
konifar
13
3.2k
Postman v10リリース後を振り返る / Looking back at Postman v10 after release
yokawasa
1
160
アクセス制御にまつわる改善 / Improving access control
itkq
0
550
プラットフォームってつくることより計測することが重要なんじゃないかという話 / Platform Engineering Meetup #8
taishin
1
370
Cloud Native Java with Spring Boot (CNCF Aarhus, April 2024)
thomasvitale
1
180
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
300
DMM.com アルファ室採用案内資料
hsugita
1
160
競技としてのKaggle、役に立つKaggle
yu4u
3
1.8k
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
422
63k
What the flash - Photography Introduction
edds
64
11k
Building Adaptive Systems
keathley
31
1.9k
The Cost Of JavaScript in 2023
addyosmani
16
3.9k
In The Pink: A Labor of Love
frogandcode
138
21k
Building Better People: How to give real-time feedback that sticks.
wjessup
355
18k
Designing the Hi-DPI Web
ddemaree
276
33k
Fireside Chat
paigeccino
21
2.6k
What's in a price? How to price your products and services
michaelherold
237
11k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
Being A Developer After 40
akosma
57
580k
The Cult of Friendly URLs
andyhume
74
5.7k
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