【Python】Jsonファイルを読み込む方法 load()とloads()

こんにちは、にわこまです。

今回は、pythonからjsonファイルを読み込む方法を紹介します。jsonファイルを読み込む方法は、load関数とloads関数の2つがあります。この2つの関数の違いについても紹介します。

 

誤字脱字や分からない点、解決し欲しい問題がありましたらご連絡お願いいたします。

メールまたはTwitterのDMまで!

 

 

スポンサードサーチ


jsonファイルを読み込む方法

load()またはloads()を使う

 

load()またはloads()を使うことでpythonからjsonファイルを読み込むことができます。

 

 

load()とloads()の違いは以下の通りです。

json.load()」は、引数にファイルオブジェクトを代入して使用します。

json.loads()」は、引数に文字列を代入して使用します。

 

 

詳しい使い方を以下で紹介します。

https://niwakomablog.com/python-how2deal-json-decodeerror

 

 

json.load()の使い方

json.load()はjsonファイルから読み込むときに使用する関数です。以下にサンプルコードとその実行結果を示します。また、jsonファイルを示します。

import json

path =  "./json_sample.json"
with open(path, encoding="utf-8", mode="r") as f:
    d = json.load(f)

print(d)

=== 実行結果 ===
{'Crow': {'X': 12, 'Y': 34, 'Z': 23}, 'Duck': {'X': 10, 'Y': 29, 'Z': 20}, 'Eagle': {'X': 19, 'Y': 35, 'Z': 25}, 'Flamingo': {'X': 30, 'Y': 33, 'Z': 31}}
{
  "Crow":{
    "X":12,
    "Y":34,
    "Z":23
  },
  "Duck":{
    "X":10,
    "Y":29,
    "Z":20
  },
  "Eagle":{
    "X":19,
    "Y":35,
    "Z":25
  },
  "Flamingo":{
    "X":30,
    "Y":33,
    "Z":31
  }
}

 

 

json.loads()の使い方

json.loads()は、json形式を表現していた文字列を辞書型に変換するときに使用します。以下にサンプルコードとその実行結果を示します。

import json

s = '''{
  "Crow":{
    "X":12,
    "Y":34,
    "Z":23
  },
  "Duck":{
    "X":10,
    "Y":29,
    "Z":20
  },
  "Eagle":{
    "X":19,
    "Y":35,
    "Z":25
  },
  "Flamingo":{
    "X":30,
    "Y":33,
    "Z":31
  }
}'''

d = json.loads(s)

print(d)

=== 実行結果 ===
{'Crow': {'X': 12, 'Y': 34, 'Z': 23}, 'Duck': {'X': 10, 'Y': 29, 'Z': 20}, 'Eagle': {'X': 19, 'Y': 35, 'Z': 25}, 'Flamingo': {'X': 30, 'Y': 33, 'Z': 31}}
import json

s = '{"Crow":{"X":12,"Y":34,"Z":23},"Duck":{"X":10,"Y":29,"Z":20},"Eagle":{"X":19,"Y":35,"Z":25},"Flamingo":{"X":30,"Y":33,"Z":31}}'

d = json.loads(s)

print(d)

=== 実行結果 ===
{'Crow': {'X': 12, 'Y': 34, 'Z': 23}, 'Duck': {'X': 10, 'Y': 29, 'Z': 20}, 'Eagle': {'X': 19, 'Y': 35, 'Z': 25}, 'Flamingo': {'X': 30, 'Y': 33, 'Z': 31}}

 

上記のサンプルコードのようにシングルクォーテーションによる三重引用符(’’’ここに文字列’’’)またはシングルクォーテーション(’ここに文字列’)で囲んだ文字列を引数に代入することで読み込むことができます。

json形式では「文字列をダブルクォーテーションで囲む」という決まりがあります。そのため、json形式の文字列自体を囲む場合はシングルクォーテーションを使います。

 

三重引用符は複数行にわたって文字列を書くことができます。しかし、シングルクォーテーションでは1行でしか書くことができません。

 

 

まとめ

まとめの画像

今回は、pythonからjsonファイルを読み込む方法を紹介しました。具体的にはjson.load()とjson.loads()の違いと使い方を紹介しました。

 

改めて違い示します。

「json.load()」は、引数にファイルオブジェクトを代入して使用します。

「json.loads()」は、引数に文字列を代入して使用します。

 

解決してほしい問題などがありましたらメールまたはTwitterのDMまで!

 

 

最後までお読みいただきありがとうございます。


スポンサードサーチ