.NET 4에는 기본 제공 JSON 직렬 변환기 / 역 직렬 변환기가 있습니까?
.NET 4에는 JSON 데이터를 직렬화 / 해제하는 클래스가 있습니까?
JSON.NET 과 같은 타사 라이브러리가 있다는 것을 알고 있지만 .NET에 바로 내장 된 것을 찾고 있습니다.
MSDN 에서 데이터 계약 을 찾았 지만 Winforms 또는 WPF가 아닌 WCF 용입니다.
DataContractJsonSerializer 클래스는 원하는 곳 어디에서나 사용할 수 있으며 .net 클래스이며 WCF로 제한되지 않습니다. 사용 방법에 대한 자세한 정보는 여기 와 여기 .
있다 JavaScriptSerializer의 클래스가 (당신은 참조 할 필요가 있지만, System.Web.Extensions
윈폼 / WPF 응용 프로그램에서 완벽하게 정상적으로 조립 클래스 작품). 또한 DataContractJsonSerializer 클래스가 WCF 용으로 설계된 경우에도 클라이언트 응용 프로그램에서 제대로 작동합니다.
JSON을 직렬화 / 비 직렬화하려면이 일반 클래스를 사용하십시오. 다음과 같이 복잡한 데이터 구조를 쉽게 직렬화 할 수 있습니다.
Dictionary<string, Tuple<int, int[], bool, string>>
JSON 문자열에 저장 한 다음 응용 프로그램 설정에 저장하거나
public class JsonSerializer
{
public string Serialize<T>(T aObject) where T : new()
{
T serializedObj = new T();
MemoryStream ms = new MemoryStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
ser.WriteObject(ms, aObject);
byte[] json = ms.ToArray();
ms.Close();
return Encoding.UTF8.GetString(json, 0, json.Length);
}
public T Deserialize<T>(string aJSON) where T : new()
{
T deserializedObj = new T();
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(aJSON));
DataContractJsonSerializer ser = new DataContractJsonSerializer(aJSON.GetType());
deserializedObj = (T)ser.ReadObject(ms);
ms.Close();
return deserializedObj;
}
}
.NET4에는 DataContractJsonSerializer와 같은 기본 제공 JSON 클래스가 있지만 매우 약하고 다차원 배열을 지원하지 않습니다. JSON.Net을 사용하는 것이 좋습니다.
참고 URL : https://stackoverflow.com/questions/3275863/does-net-4-have-a-built-in-json-serializer-deserializer
'developer tip' 카테고리의 다른 글
React Router 인증 (0) | 2020.12.09 |
---|---|
PDF 페이지가 컬러인지 흑백인지 어떻게 알 수 있습니까? (0) | 2020.12.09 |
샌드 박싱 .NET 플러그인에 대한 실용적인 접근 방식을 찾고 있습니다. (0) | 2020.12.09 |
Java에서 System.load ()와 System.loadLibrary의 차이점 (0) | 2020.12.09 |
Android에서 sharedUserId는 무엇이며 어떻게 사용됩니까? (0) | 2020.12.09 |