From a9350a62a3dd2427d30f8cc585d8bc06c7268712 Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sat, 26 Jun 2021 10:33:01 +0200 Subject: [PATCH] Test di parsing da e per JSON --- .gitignore | 164 +++++++++++++++++++++++++++++++++++++++++++ data/test_data.json | 1 + jsondemo/__init__.py | 0 jsondemo/main.py | 40 +++++++++++ 4 files changed, 205 insertions(+) create mode 100644 .gitignore create mode 100644 data/test_data.json create mode 100644 jsondemo/__init__.py create mode 100644 jsondemo/main.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..42e87b0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,164 @@ + +# Created by https://www.toptal.com/developers/gitignore/api/Python,Pycharm +# Edit at https://www.toptal.com/developers/gitignore?templates=Python,Pycharm + +### PyCharm ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea + +# CMake +cmake-build-*/ + +# File-based project format +*.iws + +# IntelliJ +out/ + +# JIRA plugin +atlassian-ide-plugin.xml + +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# End of https://www.toptal.com/developers/gitignore/api/Python,Pycharm diff --git a/data/test_data.json b/data/test_data.json new file mode 100644 index 0000000..d051093 --- /dev/null +++ b/data/test_data.json @@ -0,0 +1 @@ +{"username": "james", "active": true, "subscribers": 10, "order_total": 39.99, "order_ids": ["ABC123", "QQQ442", "LOL300"]} \ No newline at end of file diff --git a/jsondemo/__init__.py b/jsondemo/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/jsondemo/main.py b/jsondemo/main.py new file mode 100644 index 0000000..b032fd2 --- /dev/null +++ b/jsondemo/main.py @@ -0,0 +1,40 @@ +import json + +import requests as requests + + +def main(): + data = { + 'username': 'james', + 'active': True, + 'subscribers': 10, + 'order_total': 39.99, + 'order_ids': ['ABC123', 'QQQ442', 'LOL300'] + } + + print(data) + + # Printing object as JSON string + s = json.dumps(data) + print(s) + + # Getting Python object from JSON string + data2 = json.loads(s) + assert data2 == data + + # Write JSON data in a file + with open('data/test_data.json', 'w') as f: + json.dump(data, f) + + # Read JSON data from a file + with open('data/test_data.json', 'r') as f: + data3 = json.load(f) + + assert data3 == data + + r = requests.get('https://jsonplaceholder.typicode.com/users') + print(r.json()) + + +if __name__ == '__main__': + main()