Подтвердить что ты не робот

Что такое десериализация и сериализация в JSON?

Я новичок в JSON. Теперь мне нужно использовать JSON для моего Flash ActionScript 3.0. Итак, я нашел одну библиотеку для JSON и увидел термины "десериализация" и "сериализация". Что они имеют в виду?

4b9b3361

Ответ 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