JSON에서 deserialize 및 serialize 란 무엇입니까?
저는 JSON이 처음입니다. 이제 Flash ActionScript 3.0에 JSON을 사용해야합니다. 그래서 JSON 용 라이브러리 하나를 찾았고 "비 직렬화"와 "직렬화"라는 용어를 보았습니다. 무슨 뜻입니까?
JSON은 객체를 문자열로 인코딩하는 형식입니다. 직렬화 는 객체를 해당 문자열로 변환하는 것을 의미하며 역 직렬화는 그 반대 작업입니다.
데이터를 전송하거나 파일에 저장할 때 데이터는 바이트 문자열이어야하지만 복잡한 개체는이 형식이 거의 없습니다. 직렬화는 이러한 복잡한 개체를 이러한 사용을 위해 바이트 문자열로 변환 할 수 있습니다. 바이트 문자열이 전송 된 후 수신자는 바이트 문자열에서 원래 객체를 복구해야합니다. 이를 역 직렬화라고합니다.
물건이 있다고 말해
{foo: [1, 4, 7, 10], bar: "baz"}
JSON으로 직렬화하면 문자열로 변환됩니다.
'{"foo":[1,4,7,10],"bar":"baz"}'
저장하거나 유선을 통해 어디로 든 보낼 수 있습니다. 그런 다음 수신자는이 문자열을 역 직렬화하여 원래 개체를 반환 할 수 있습니다. {foo: [1, 4, 7, 10], bar: "baz"}
.
데이터 저장의 맥락에서 직렬화 (또는 직렬화)는 데이터 구조 또는 객체 상태를 저장 (예 : 파일 또는 메모리 버퍼에) 또는 전송 (예 : 네트워크 연결을 통해) 할 수있는 형식으로 변환하는 프로세스입니다. 링크) 및 나중에 재구성됩니다. [...]
일련의 바이트에서 데이터 구조를 추출하는 반대 작업은 deserialization 입니다.
Wikipedia에서 : 직렬화
Python 예
예를 들어 파이썬에서 "직렬화"는 주어진 데이터 구조 (예 : a dict
)를 유효한 JSON 펜던트로 변환하는 것 외에는 아무것도하지 않습니다 .
따라서 Python 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의 차이점을 쉽게 찾을 수 있습니다.
- 파이썬 :
True
/False
, - JSON :
true
/false
출처 : realpython.com
이거 한번 해봐:
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
참고 URL : https://stackoverflow.com/questions/3316762/what-is-deserialize-and-serialize-in-json
'development' 카테고리의 다른 글
배열의 최소 / 최대 날짜? (0) | 2020.08.29 |
---|---|
setWidth (int pixels)는 dip 또는 px를 사용합니까? (0) | 2020.08.29 |
하드 부동 소수점 숫자와 소프트 부동 소수점 숫자의 차이점은 무엇입니까? (0) | 2020.08.28 |
유닉스 명령 "시계"가있는 색상? (0) | 2020.08.28 |
Postgres에서 행 번호 선택 (0) | 2020.08.28 |