From fcccbbd6d15a058f4644bc00e3a24772c3f13a4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luiz=20Ot=C3=A1vio?= Date: Thu, 22 Dec 2022 08:55:45 -0300 Subject: [PATCH] json.dumps e json.loads com strings + typing.TypedDict --- .vscode/settings.json | 2 +- aula176.py | 44 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 aula176.py diff --git a/.vscode/settings.json b/.vscode/settings.json index 9015f82..422f9b9 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -41,6 +41,6 @@ "python.testing.pytestEnabled": true, "python.analysis.diagnosticSeverityOverrides": {}, // "python.defaultInterpreterPath": "./venv/bin/python", - "python.analysis.typeCheckingMode": "basic", + "python.analysis.typeCheckingMode": "strict", "cSpell.enabled": true } diff --git a/aula176.py b/aula176.py new file mode 100644 index 0000000..a6554ba --- /dev/null +++ b/aula176.py @@ -0,0 +1,44 @@ +# json.dumps e json.loads com strings + typing.TypedDict +# Ao converter de Python para JSON: +# Python JSON +# dict object +# list, tuple array +# str string +# int, float number +# True true +# False false +# None null +import json +# from pprint import pprint +from typing import TypedDict + + +class Movie(TypedDict): + title: str + original_title: str + is_movie: bool + imdb_rating: float + year: int + characters: list[str] + budget: None | float + + +string_json = ''' +{ + "title": "O Senhor dos Anéis: A Sociedade do Anel", + "original_title": "The Lord of the Rings: The Fellowship of the Ring", + "is_movie": true, + "imdb_rating": 8.8, + "year": 2001, + "characters": ["Frodo", "Sam", "Gandalf", "Legolas", "Boromir"], + "budget": null +} +''' +filme: Movie = json.loads(string_json) +# pprint(filme, width=40) +# print(filme['title']) +# print(filme['characters'][0]) +# print(filme['year'] + 10) + +json_string = json.dumps(filme, ensure_ascii=False, indent=2) +print(json_string)