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

【Python】jsonの読み込み方法【どんな配列もこれでOK】プログラミング

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

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

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

それでは本文をどうぞ。

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

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

pythonでjsonを読み込みたい女性
pythonで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.まとめ

5.まとめ

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

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

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

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

それでは!

コメント

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