• Mémo Manipuler le Json avec Python

  • Portage de données

D'un fichier Json à Python

Nous avons un fichier data.json :

{
  "address": null,
  "age": "45",
  "country": "USA",
  "first_name": "John",
  "last_name": "Smith",
  "married": true,
  "zip code": null
}

Un fichier test_json.py

import json


with open('data.json', 'r') as jsonfile:
    data = json.load(jsonfile)

for key, value in data.items():
    print(key, value)

D'un objet Python à une string Json

data = {
  "first_name": "John",
  "last_name": "Smith",
  "age": "45",
  "address": None,
  "zip code": None,
  "country": "USA",
  "married": True
}

dumped = json.dumps(
    data,
    indent=2,
    sort_keys=True
    )

Déposer une string Json dans un fichier

with open('data.json', 'w') as file:
    json.dump(
        data,
        file,
        indent=2,
        sort_keys=True
)

Quelques fonctions utiles :

import json

def from_json(filename: str) -> [dict, list]:
    with open(filename, "r") as json_file:
        return json.load(json_file)


def to_json(filename: str, data: [dict, list]) -> None:
    with open(filename, "w") as json_file:
        json.dump(data, json_file, indent=2, ensure_ascii=False)


19 novembre 2018 13:07