Питхон ЈСОН: Читање, писање, рашчлањивање ЈСОН-а (са примерима)

У овом упутству ћете научити да рашчлањујете, читате и пишете ЈСОН у Питхону уз помоћ примера. Такође, научићете да претворите ЈСОН у дикт и прилично га одштампате.

ЈСОН ( Ј ава С црипт О бјецт Н отатион) је популаран формат података који се користи за представљање структурираних података. Уобичајено је да се подаци између сервера и веб апликације преносе и примају у ЈСОН формату.

У Питхону, ЈСОН постоји као низ. На пример:

 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.

Препоручена читања:

  • Питхон ЈСОН у ЦСВ и обрнуто
  • Питхон КСМЛ у ЈСОН и обрнуто
  • Питхон симплејсон

Занимљиви Чланци...