Я новичок в JSON. Теперь мне нужно использовать JSON для моего Flash ActionScript 3.0. Итак, я нашел одну библиотеку для JSON и увидел термины "десериализация" и "сериализация". Что они имеют в виду?
Что такое десериализация и сериализация в JSON?
Ответ 1
JSON - это формат, который кодирует объекты в строке. Serialization означает преобразование объекта в эту строку, а десериализация - его обратная операция.
При передаче данных или их хранении в файле данные должны быть байтовыми строками, но сложные объекты редко используются в этом формате. Сериализация может преобразовать эти сложные объекты в байтовые строки для такого использования. После того, как строки байтов будут переданы, получателю придется восстановить исходный объект из строки байта. Это называется десериализацией.
Скажем, у вас есть объект
{foo: [1, 4, 7, 10], bar: "baz"}
сериализация в JSON преобразует его в строку:
'{"foo":[1,4,7,10],"bar":"baz"}'
который может быть сохранен или отправлен через провод в любом месте. Получатель может затем десериализовать эту строку, чтобы вернуть исходный объект. {foo: [1, 4, 7, 10], bar: "baz"}
.
Ответ 2
В контексте хранения данных сериализация (или сериализация) - это процесс преобразования структур данных или состояния объекта в формат, который может быть сохранен (например, в буфере файла или памяти) или передан (для Например, через соединение с сетью) и восстановлен позже. [...]
Противоположной операцией, извлекающей структуру данных из серии байтов, является десериализация.
Из Википедии: Сериализация
Пример Python
Так, например, в Python "сериализация" не делает ничего другого, кроме простого преобразования данной структуры данных (например, dict
) в ее действительный JSON-подвес.
Таким образом, Питоны True
будут преобразованы в JSON true
, а сам словарь будет заключен в кавычки.
Модуль Python json
очень полезен здесь:
data = {
"president": {
"name": "Zaphod Beeblebrox",
"species": "Betelgeusian",
"male": True,
}
}
import json
json_data = json.dumps(data, indent=2) # serialize
restored_data = json.loads(json_data) # deserialize
# serialized json_data now looks like:
# {
# "president": {
# "name": "Zaphod Beeblebrox",
# "species": "Betelgeusian",
# "male": true
# }
# }
Вы можете легко определить разницу между словарем Python и JSON по их логическим значениям:
- Python:
True
/False
, - JSON:
true
/false
Источник: realpython.com
Ответ 3
Попробуйте это:
Dim jss As New JavaScriptSerializer()
Dim jcon = "{""type"":""clientlist"",""client_list"":[""client 1"",""client 2""]}"
Dim oListjs As List(Of MyModel) = jss.Deserialize(Of List(Of MyModel))(jcon)
Public Class MyModel
Public Property Type() As String
Public Property Client_list() As String()
End Class