Что такое десериализация и сериализация в JSON? - PullRequest
83 голосов
/ 23 июля 2010

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

Ответы [ 3 ]

155 голосов
/ 23 июля 2010

JSON - это формат, который кодирует объекты в строку. Сериализация означает преобразование объекта в эту строку, а десериализация - его обратная операция.

При передаче данных или сохранении их в файле данные должны быть байтовыми строками, но сложные объекты редко встречаются в этом формате. Сериализация может преобразовывать эти сложные объекты в байтовые строки для такого использования. После того, как строки байтов переданы, получатель должен будет восстановить исходный объект из строки байтов. Это известно как десериализация.

Скажем, у вас есть объект

{foo: [1, 4, 7, 10], bar: "baz"}

Сериализация в JSON преобразует его в строку:

'{"foo":[1,4,7,10],"bar":"baz"}'

, который может быть сохранен или отправлен по проводам в любое место. Затем получатель может десериализовать эту строку, чтобы получить исходный объект. {foo: [1, 4, 7, 10], bar: "baz"}.

2 голосов
/ 19 марта 2019

В контексте хранения данных сериализация (или сериализация) - это процесс преобразования структур данных или состояния объекта в формат, который может быть сохранен (например, в буфере файла или памяти) или передается (например, по каналу сетевого подключения) и восстанавливается позже. [...]
Противоположной операцией, извлекающей структуру данных из серии байтов, является десериализация .

Из Википедии: Сериализация

Пример Python

Так, например, в Python «сериализация» делает не что иное, как просто преобразование данной структуры данных (например, dict) в ее действительный JSON-подвес.

Таким образом, Pythons 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:
# '{\n  "president": {\n    "name": "Zaphod Beeblebrox",\n    "species": "Betelgeusian",\n    "male": true\n  }\n}'

Источник: realpython.com

0 голосов
/ 29 июня 2018

Попробуйте это:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...