질문:
JavaScriptSerializer.Deserialize를 사용할 때 JSON 데이터의 필드 이름을 .NET 개체의 필드 이름에 매핑하는 방법은 무엇입니까?
정답:
JavaScriptSerializer 클래스는 직접 필드 이름 매핑 기능을 제공하지 않습니다. 그러나 이 목적을 위해 보다 유연한 DataContractJsonSerializer 클래스를 활용할 수 있습니다.
필드 이름을 매핑하려면:
<code>[DataContract] public class DataObject { }</code>
<code>[DataMember(Name = "user_id")] public int UserId { get; set; } [DataMember(Name = "detail_level")] public string DetailLevel { get; set; }</code>
예:
<code>using System.Runtime.Serialization.Json; public class Test { public static void Main() { string json = "{\"user_id\":1234, \"detail_level\":\"low\"}"; DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(DataObject)); using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(json))) { DataObject dataObject = serializer.ReadObject(ms) as DataObject; Console.WriteLine(dataObject.UserId); // 输出:1234 Console.WriteLine(dataObject.DetailLevel); // 输出:low } } }</code>
참고:
위 내용은 JavaScriptSerializer(또는 대안)를 사용하여 JSON 필드 이름을 .NET 개체 속성에 매핑하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!