Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!

Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount

Сериализация


Python предоставя вградени библиотеки за JSON, за да кодира и декодира JSON.

В Python 2.5 се използва модулът simplejson, докато в Python 2.7 се използва модулът json. Тъй като този интерпретатор използва Python 2.7, ще използваме json.

За да използвате модула json, първо трябва да бъде импортиран:

import json

Съществуват два основни формата за JSON данни. Или във вид на низ, или под формата на структура от данни. Структурата от данни в Python се състои от списъци и речници, вложени един в друг. Структурата от данни позволява използването на методи на Python (за списъци и речници) за добавяне, изброяване, търсене и премахване на елементи от структурата. Форматът String основно се използва, за да се предават данните в друга програма или да се зареждат в структура от данни.

За да се зареди JSON обратно в структура от данни, използвайте методът "loads". Този метод приема низ и го превръща обратно в структурата от данни на JSON обекта:

import json 
print(json.loads(json_string))

За да се кодира структура от данни в JSON, използвайте методът "dumps". Този метод приема обект и връща низ:

import json
json_string = json.dumps([1, 2, 3, "a", "b", "c"])
print(json_string)

Python поддържа собствен метод за сериализация на данни, наречен pickle (и по-бърза алтернатива, наречена cPickle).

Можете да го използвате по същия начин.

import pickle
pickled_string = pickle.dumps([1, 2, 3, "a", "b", "c"])
print(pickle.loads(pickled_string))

Целта на това упражнение е да отпечатате JSON низа, с добавен ключ-стойност двойка "Me" : 800.

Упражнение--------

import json # fix this function, so it adds the given name # and salary pair to salaries_json, and return it def add_employee(salaries_json, name, salary): # Add your code here return salaries_json # test code salaries = '{"Alfred" : 300, "Jane" : 400 }' new_salaries = add_employee(salaries, "Me", 800) decoded_salaries = json.loads(new_salaries) print(decoded_salaries["Alfred"]) print(decoded_salaries["Jane"]) print(decoded_salaries["Me"]) import json # fix this function, so it adds the given name # and salary pair to salaries_json, and return it def add_employee(salaries_json, name, salary): salaries = json.loads(salaries_json) salaries[name] = salary return json.dumps(salaries) # test code salaries = '{"Alfred" : 300, "Jane" : 400 }' new_salaries = add_employee(salaries, "Me", 800) decoded_salaries = json.loads(new_salaries) print(decoded_salaries["Alfred"]) print(decoded_salaries["Jane"]) print(decoded_salaries["Me"]) test_output_contains("300") test_output_contains("400") test_output_contains("800") success_msg("Great work!")

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!

Previous Tutorial Next Tutorial Take the Test
Copyright © learnpython.org. Read our Terms of Use and Privacy Policy