8
JavaScriptSerializer.Deserialize-如何更改字段名称
摘要:使用JavaScriptSerializer.Deserialize时,如何将JSON数据中的字段名称映射到.Net对象的字段名称? 较长的版本:我从服务器API获得以下JSON数据(未在.Net中编码) {"user_id":1234, "detail_level":"low"} 我有以下C#对象: [Serializable] public class DataObject { [XmlElement("user_id")] public int UserId { get; set; } [XmlElement("detail_level")] public DetailLevel DetailLevel { get; set; } } 其中DetailLevel是使用“低”作为值之一的枚举。 该测试失败: [TestMethod] public void DataObjectSimpleParseTest() { JavaScriptSerializer serializer = new JavaScriptSerializer(); DataObject dataObject = serializer.Deserialize<DataObject>(JsonData); Assert.IsNotNull(dataObject); Assert.AreEqual(DetailLevel.Low, dataObject.DetailLevel); Assert.AreEqual(1234, dataObject.UserId); } 最后两个断言失败,因为这些字段中没有数据。如果我将JSON数据更改为 …