みなさんこんにちは!JSONをパースしなくてはならないときって多々ありますよね。実際にコードを書いてパースしたり、オンラインツールでパースしたりする人がほとんどだと思います。
今回はJSONのパースの仕方をオンラインエディタから、実際にコードを書くところまで紹介していこうと思います!JSONのパースの方法を完全に理解したい方は是非参考にしていただければ幸いです!
JSON parserってなに?どういう意味?
さて、先ほどからパースやらパーサーやら難しい言葉がでていますが、言葉の定義をきちんとしておくことは大切ですので以下で説明していきます。
パースとは
まずは、parse(パース)という単語ですが、こちらは解析するという意味です。コンピュータに限って言えば、自分の環境で扱えるように解析、変換することをparseと言います。
例えば、JSONファイルはそのまま読み込めばただの文字列ですがこれらをJavaScriptのオブジェクトとして扱いたい。つまりJSONとして扱いたい場合適切にパースすることによって、JSONとして扱うことができます。
また、静的言語ではコンパイルして機械語に変換することもパースすると呼んだりします。
パーサーとは
parserパーサーとは、パースする処理をまとめたプログラムのことを指します。例えばオンラインでパースするツールはパーサーですし、自分でパースする関数を作ればその関数がパーサーということですね。
json パーサーとは
これらを踏まえた上でjson parserとは即ちjsonファイルをjsonのまま扱えるようにするプログラムということがわかりますね。
オススメのオンラインパーサーを紹介!
JSONデータをパースして、構文のチェックやフォーマットを行ってくれるおすすめのオンラインパーサをこちらで紹介しておきます!
こちらのオンラインパーサですね。
左側に該当のJSONデータを入れると整形や、構文チェックを行ってくれます。
ちなみに、このように構文にミスがあるとエラーとして教えてくれます。このオンラインパーサはローカルのプログラムで動いているのでサーバーに実際にデータを送ることはなく大切な情報をパースするときにも役立ちます。
Pythonでjsonをパースしてみる
さて、今度は実際にPythonを使ってJSONをパースして見ましょう。例えば以下のような文字列があったとします。
json_s = '{"name": "tarou","age": 20,"hobby": "fishing"}' print(type(json_s))
<class 'str’>
ですが、文字列ではなくJSONとして扱いたいぜ!となってのでパースしましょう。PythonでJSONのパースには標準モジュールを
import json
とすることでimportして、loads関数を使うことでパースできます。
import json json_s = '{"name": "tarou","age": 20,"hobby": "fishing"}' print(type(json_s)) json_d = json.loads(json_s) print(type(json_d))
<class 'str'> <class 'dict’>
このように、JSONオブジェクトとして扱えるようディクショナリ型に変換(パース)することができました。
また、jsonファイルをjsonオブジェクトして読み込む、つまりパースして読み込むにはload関数を使ってやればよく、そこらへんはこちらの記事で詳しく解説しているので目を通しておくと理解が深まると思います。
JavaScriptでjsonをパースしてみる
JSONはJavaScriptと親和性の高いフォーマットですが、サーバーサイドから受け取ったJSONは単なる文字列です。これをパースしてJavaScriptのオブジェクトに変換する必要がある場合も多々ありますね。
ここでは、JavaScriptでJSONをパースする方法についてみていきます。JavaScriptでJSONをパースするには、JSON.parseを使います。
var json_s = '{"name": "tarou","age": 20,"hobby": "fishing"}' console.log(typeof(json_s)) var json_o = JSON.parse(json_s) console.log(typeof(json_o)) console.log(json_o.name)
このようにしてやると、
string object tarou
きちんと、objectに変換されていますね。オブジェクトなので、keyを指定してvalueを抜き出すこともできています。jsでのJSONの取り扱いをもっと詳しく知りたい方は以下の記事を参考してみるとよいでしょう。
まとめ
いかがでしたか。JSONのパース、パーサーの違いややり方、オススメのオンラインパーサ、PythonやJSでのパースの書き方などを説明してきました。単語の分かりにくさに踊らされず本質を掴むように心がけられると良いですね!それでは!!