【改行文字】JSONで値の語尾に「\r」が付いてくるのだが...
どうも。へんじにゃ@hengin_blogです。
Reactでブログを作成している際に困ったことがあったので記事にしました
状況
markdownからメタデータを取得してJSONに書き込む際にsplit()
メソッドを用いたのですが…
データを\n
ごとに区切ってposts.json
に書き込み、それらをconsole.log()
で表示すると以下のようになりました
~ import postlist from './posts.json'; console.log(postlist); // 0: {id: '1\r', title: 'title\r', author: 'author\r', content: '\r\n~~~'} // 1: ~~~
謎の\r
が付いてくる😂😂
何故なのか
メタデータを取得する際\n
(改行)ごとにそれぞれのデータを取ろうとしていたことが原因でした
別に改行ごとに取得するのは間違っていませんでした
しかし取り扱う改行の制御文字を間違えていたようです
こちらのサイトによるとWindowsでは\n
ではなく、\r\n
が使われているとのこと
OSによって改行のための制御文字が違うみたいですね
const lines = contents.split("\r\n");
よってこのようにすれば正しいデータになるはず🤔
import postlist from './posts.json'; console.log(postlist); // 0: {id: '1', title: 'title', author: 'author', content: '\n~~~'} // 1: ~~~
おっけい、これで正しいデータを表示することが出来た
まとめ
C言語で改行文字は\n
と習ったことが敗因でした😅たいあり
Windowsをお使いの皆様は用心くださいませ
最後まで閲覧頂きありがとうございました😂😂
参考になったら読者登録よろしくお願いいたします!!
読者登録返しします!!