1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

「数億規模スタートアップのCTO講師」と「エンジニアキャリア専門のポテパン」が贈る、実践型Rubyスクール。

【Python入門】json dumpsで文字列の変換の仕方

【Python入門】
Pocket

JSONとは

JSONとは、「Java Script Object Notation」の略で、JavaScriptというプログラミング言語のオブジェクト表記法をベースに作られたデータフォーマットです。

JSONのメリット

ベースとなった言語は、JavaScriptですが、さまざまなプログラミング言語がこの形式に対応していて、異なるプログラミング言語の間でデータをやり取りしたいときに便利です。

たとえば、Python以外にもJavaScript、PHP、Rubyというようなプログラム言語がこの形式に対応しています。

JSONという形式のデータをひとつ用意しておけば、JavaScriptを使う人、PHPを使う人、Rubyを使う人などに、このデータを渡すだけで、それぞれが共通して処理できるというわけです。

JSON形式のデータであれば、Rubyから受けとったデータをPython で処理することも可能です。

WebAPIのように、サービスを提供する側も、どのようなプログラミング言語でも処理しやすいように、JSON形式でデータを返すことが多いようです。

JSON形式とは

それでは、JSON形式がどのようなデータ構造をしているのか、実際に見てみましょう。
ここでは、オブジェクト形式と配列形式について簡単に説明します。

オブジェクト形式

JSONは、基本的に「キーと値」のペアで成り立っています。
「キーと値」は”キー”: “値”というようにコロン(:)で区切られます。
ペアとペアの間はカンマ(,)で区切られます。全体は{ }で囲まれます。
この{ }を、オブジェクト(形式)と言います。

オブジェクト形式のサンプルを以下に示します。4つのペアが登録されています。

配列形式

値が複数ある場合、値を角括弧[ ]で囲み、その中にカンマ(,)で区切った複数の値を配列形式で格納します。下記サンプルでは、Sportsの値が、野球、サッカー、テニスの3つとなっています。
配列なので、中身は値だけの構成となっています。

エンコードとデコード

JSON形式に変換したり、逆にJSON形式で記述されたデータフォーマットを自分のプログラミングで使用できる形式に変換する必要があります。

これらの変換処理を、エンコード(JSON形式に変換)、デコード(JSON形式から自分のプログラムで使用できる形式に変換)と呼びます。

Pythonでは、エンコードする場合に、json.dumps()メソッドを使用し、デコードする場合はjson.loads()メソッドを使用します。

Json.dumps():エンコード

生成されたPythonの辞書データをJSON形式にエンコードしてみましょう。

Json.loads():デコード

JSON形式に変換されたデータフォーマットをデコードしてみましょう。

JSON.DUMPSの使用例(サンプルプログラム)

JSON.DUMPSを使用したサンプルプログラムです。参考にしてみてください。
CSV形式のデータ(CSVファイル)を読み込み、JSON形式に変換するプログラムです。

サンプルプログラム1

実行結果

CSVファイル

まとめ

Json.Dumps()を使った、データフォーマットのJSON形式へのエンコード操作について、コマンドを実行したときの結果とあわせて解説させていただきました。デコード操作であるJson.Loads()もいっしょに習得しておきましょう。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

おすすめスクール

システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ システムアーキテクチュアナレッジでは、ITスクールとしては珍しく正規雇用かつ現役のエンジニアが講師を務めています。「責任を持ったIT教育」をテーマに、未経験者をプロフェッショナルに育てます。
ページ上部へ戻る