У овом упутству ћете научити да рашчлањујете, читате и пишете ЈСОН у Питхону уз помоћ примера. Такође, научићете да претворите ЈСОН у дикт и прилично га одштампате.
ЈСОН ( Ј ава С црипт О бјецт Н отатион) је популаран формат података који се користи за представљање структурираних података. Уобичајено је да се подаци између сервера и веб апликације преносе и примају у ЈСОН формату.
У Питхону, ЈСОН постоји као низ. На пример:
p = '("name": "Bob", "languages": ("Python", "Java"))'
Такође је уобичајено чување ЈСОН објекта у датотеци.
Увоз јсон модула
Да бисте радили са ЈСОН-ом (низом или датотеком која садржи ЈСОН објекат), можете да користите Питхонов json
модул. Морате да увезете модул да бисте могли да га користите.
import json
Анализирајте ЈСОН у Питхон-у
json
Модул олакшава да анализирам ЈСОН жице и фајлова који садрже ЈСОН објекат.
Пример 1: Питхон ЈСОН за диктирање
Можете рашчланити ЈСОН низ помоћу json.loads()
методе. Метода враћа речник.
import json person = '("name": "Bob", "languages": ("English", "Fench"))' person_dict = json.loads(person) # Output: ('name': 'Bob', 'languages': ('English', 'Fench')) print( person_dict) # Output: ('English', 'French') print(person_dict('languages'))
Овде је особа ЈСОН низ, а персон_дицт је речник.
Пример 2: Питхон чита ЈСОН датотеку
Можете користити json.load()
методу за читање датотеке која садржи ЈСОН објекат.
Претпоставимо да имате датотеку са именом person.json
која садржи ЈСОН објекат.
("name": "Bob", "languages": ("English", "Fench") )
Ево како можете рашчланити ову датотеку:
import json with open('path_to_file/person.json') as f: data = json.load(f) # Output: ('name': 'Bob', 'languages': ('English', 'Fench')) print(data)
Овде смо користили open()
функцију за читање јсон датотеке. Затим се датотека рашчлањује json.load()
методом која нам даје речник са именом података.
Ако не знате како да читате и пишете датотеке на Питхону, препоручујемо вам да проверите И / О датотеку Питхон.
Питхон Претвори у ЈСОН низ
Речник можете претворити у ЈСОН низ помоћу json.dumps()
методе.
Пример 3: Претворите дикт у ЈСОН
import json person_dict = ('name': 'Bob', 'age': 12, 'children': None ) person_json = json.dumps(person_dict) # Output: ("name": "Bob", "age": 12, "children": null) print(person_json)
Ево табеле која приказује Питхон објекте и њихову еквивалентну конверзију у ЈСОН.
Питхон | ЈСОН еквивалентан |
---|---|
dict | објект |
list , tuple | низ |
str | низ |
int , float ,int | број |
True | истина |
False | лажно |
None | нула |
Записивање ЈСОН-а у датотеку
Да бисмо написали ЈСОН у датотеку на Питхону, можемо користити json.dump()
методу.
Пример 4: Записивање ЈСОН-а у датотеку
import json person_dict = ("name": "Bob", "languages": ("English", "Fench"), "married": True, "age": 32 ) with open('person.txt', 'w') as json_file: json.dump(person_dict, json_file)
У горе наведеном програму отворили смо датотеку именовану person.txt
у режиму писања помоћу 'w'
. Ако датотека већ не постоји, биће створена. Затим се json.dump()
претвара person_dict
у ЈСОН низ који ће бити сачуван у person.txt
датотеци.
Када покренете програм, person.txt
датотека ће се створити. Датотека садржи следећи текст.
("name": "Bob", "languages": ("English", "Fench"), "married": true, "age": 32)
Питхон прилично штампан ЈСОН
Да бисмо анализирали и отклонили грешке у ЈСОН подацима, можда ће бити потребно да их одштампамо у читљивијем формату. То се може учинити прослеђивањем додатних параметара indent
и sort_keys
то json.dumps()
и json.dump()
методи.
Пример 5: Питхон прилично исписан ЈСОН
import json person_string = '("name": "Bob", "languages": "English", "numbers": (2, 1.6, null))' # Getting dictionary person_dict = json.loads(person_string) # Pretty Printing JSON string back print(json.dumps(person_dict, indent = 4, sort_keys=True))
Када покренете програм, излаз ће бити:
("лангуагес": "енглески", "наме": "Боб", "нумберс": (2, 1.6, нулл))
У горе наведеном програму користили смо 4
размаке за увлачење. И, тастери су сортирани у растућем редоследу.
Иначе, подразумевана вредност увлачења је None
. И, подразумевана вредност сорт_кеис је False
.
Препоручена читања:
- Питхон ЈСОН у ЦСВ и обрнуто
- Питхон КСМЛ у ЈСОН и обрнуто
- Питхон симплејсон