Python

【Python】jsonの読み込み方法【どんな配列もこれでOK】

【Python】jsonの読み込み方法【どんな配列もこれでOK】

こんにちは。さすをです。

以前、6,000万のPython案件に携わりました。

今回の記事は、pythonを使って、配列のあるjsonの読み込み方法を紹介していきます。

それでは本文をどうぞ。

困っている女性
困っている女性

jsonの配列を読み込みたいんだけど、複雑に絡み合っててわからない、、

どうやって考えていけばいいの、、

さすを
さすを

これらの悩みを解決します!

この記事を読むとわかること:

  • pythonを使ってjsonを読み込む方法
  • pythonを使ってjsonの配列を取得する方法
  • pythonを使ってネストされたjsonの配列を取得する方法

筆者の情報:

  • 現役システムエンジニア 兼 副業ブロガー
  • 過去に6,000万のPython案件を受注
スポンサーリンク

1.配列のあるjsonの読み込み方法

1.配列になっているjsonの読み込み方法

今回はsample.jsonというjsonデータを使用します。

sample.json:

{
    "name": "satoshi",
    "age": 40,
    "sex": "man",
    "friend": "hiroshi",
    "hobby": [
        "dancing",
        "singing",
        "fishing"
    ]
}

配列のあるjsonを読み込むためのスクリプトはこちらです。

import json

json_file = open('blog_data/sample.json', 'r')

json_dict = json.load(json_file)

print(json_dict)
さすを
さすを

処理内容を一つずつ説明していきます!

import json

json 関連の関数を使うためには、 json モジュールをインポートする必要があります。

jsonを扱うときに必要なおまじないだと思いましょう。

json_file = open('blog_data/sample.json', 'r')

この行では、jsonファイルのパスを指定し、読み込んでいます。

‘blog_data/sample.json’の部分にファイルパスを指定しましょう。

‘r’はreadの略で、ファイルを読み込むという意味で使用します。

json_dict = json.load(json_file)

json.loadを使って、jsonファイルを辞書として読み込みます。

辞書として読み込むことで、jsonファイルの値の取得や変更、削除、追加がしやすくなります。

print(json_dict)

読み込んだjsonファイルを表示します。

スクリプトの実行結果はこちらです。

{'name': 'satoshi', 'age': 40, 'sex': 'man', 'friend': 'hiroshi', 'hobby': ['dancing', 'singing', 'fishing']}
さすを
さすを

jsonファイルを読み込めていることがわかりますね!

2.jsonファイルにある配列の取り出し方法

2.jsonファイルにある配列の取り出し方法

それでは、sample.jsonから配列を取り出してみましょう。

sample.json:

{
    "name": "satoshi",
    "age": 40,
    "sex": "man",
    "friend": "hiroshi",
    "hobby": [
        "dancing",
        "singing",
        "fishing"
    ]
}

jsonファイルにある配列の取り出し方法は以下の通りです。

import json

json_file = open('blog_data/sample.json', 'r')

json_dict = json.load(json_file)

get_data = json_dict["hobby"]

print(get_data)

出力結果はこちらです。

['dancing', 'singing', 'fishing']
さすを
さすを

配列を取り出すことができました!

get_data = json_dict["hobby"]

とすることで、[“hobby”]の値を取り出すことができます。

もし、配列の中の1つを取り出したいのであれば、

get_data = json_dict["hobby"][1]

のように、番号を指定してあげればOKです。

出力結果:

singing

注意:配列の番号は0からスタートします。

3.jsonファイルにあるネストされた配列の取り出し方法

3.jsonファイルにあるネストされた配列の取り出し方法

以下のようなネストされた配列を取り出してみましょう。

{
    "name": "satoshi",
    "age": 40,
    "sex": "man",
    "friend": "hiroshi",
    "hobby": [
        [
            "dancing",
            "singing"
        ],
        [
            "fishing"
        ]
    ]
}

jsonファイルにあるネストされた配列の取り出し方法は以下の通りです。

import json

json_file = open('blog_data/sample.json', 'r')

json_dict = json.load(json_file)

get_data = json_dict["hobby"][0][1]

print(get_data)

出力結果:

singing

ネストされると多次元配列になります。

json_dict["hobby"][0][1]

の意味は下記のようになっています。

  • [“hobby”]:jsonファイルの中のhobbyを選択。
  • [0]:1つ目の大かっこ([])を選択。(配列は0から開始)
  • [1]:dancing,singingのうち、2つ目のsingingを選択。(配列は0から開始)
さすを
さすを

ネストが増えても、考え方は変わりません!

4.jsonファイルにある複雑にネストされた配列の取り出し方法

4.jsonファイルにある複雑にネストされた配列の取り出し方法

以下のような複雑にネストされたjsonファイルから、artist_memberの配列の中の”jun”を取り出してみましょう。

{
    "name": "satoshi",
    "age": 40,
    "sex": "man",
    "work": {
        "singer": {
            "artist_name": ["arashi"],
            "artist_member": ["sho", "jun", "masaki", "kazunari"]
        },
        "art": ["draw", "fishing"]
    }
}

取り出すスクリプトは下記の通りです。

import json

json_file = open('blog_data/sample.json', 'r')

json_dict = json.load(json_file)

get_data = json_dict["work"]["singer"]["artist_member"][1]

print(get_data)
さすを
さすを

ここまで理解できていればどんなjsonファイルからでも配列を取り出せるでしょう!

5.Pythonスキルを伸ばす方法とは?

5-1.独学編

Pythonスキルを独学で身に着けるためには、参考書が必須です。

おすすめのPython書籍を以下の記事で解説したので、参考にしていただけたらと思います。

>>【レベル別&徹底解説】 Python書籍のおすすめ8選

本を買う前に、一度Pythonの学習をしてみたいという方は、Pythonを学べるおすすめ学習サイトを以下の記事で解説したので、こちらも参考にしてみてください。

>>【料金別&徹底解説】 Pythonおすすめ勉強サイト8選【楽しく学ぼう】

5-2.スクール編

お金がかかってもいいから、少しでも早くPythonスキルを身につけたい方は、TechAcademy(テックアカデミー)のPythonコースがおすすめです。

エンジニアになれば、受講料は1か月もあれば回収できるので、問題なしです。

本気でPythonスキルを身につけたい方は、スクールで一気にスキルを身に着けるのもありでしょう。

>>TechAcademy(テックアカデミー)のPythonコースはこちら

6.おわりに

6.おわりに

6,000万のPython案件に携わった経験のある筆者が、pythonを使って、配列になっているjsonの読み込み方法を紹介してきました。

jsonはネストが多いと複雑に見えてしまいますが、実は単純です。

この記事が少しでもあなたの役に立てていたらうれしいです。

頑張るあなたを応援しています!

それでは!

>>【無料】Pythonでできること9選【初心者でも稼げます】

>>【徹底解説】Pythonエンジニアに転職する方法【失敗しない方法を詳しく解説】

>>【これだけ知っておけばOKです】 現役エンジニアもよく使う便利なPythonライブラリ22選

コメント

タイトルとURLをコピーしました