【发布时间】:2014-06-10 17:27:40
【问题描述】:
我正在尝试将一个对象序列化为 JSON 字符串,如下所示:
new JavaScriptSerializer().Serialize(person)
这里,person 是具有许多属性的对象,例如姓名、地址、城市、州等,但我已将类修饰为如下所示,以便它只序列化姓名和地址。
using System;
using System.Runtime.Serialization;
namespace DataAccess.Models
{
[Serializable]
[DataContract]
public class Person
{
public string Id { get; set; }
[DataMember(Name = "full-name")]
public string Name { get; set; }
[DataMember(Name = "address")]
public string Address { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Zip { get; set; }
}
}
但是当我运行程序时,new JavaScriptSerializer().Serialize(person) 给了我包含所有数据的 JSON,包括 Id、City、State、Zip。
为什么不给我全名和地址?似乎它完全忽略了这些 DataMember 属性。
当我使用 Newtonsoft 的 JsonConvert.SerializeObject(person) 时,一切正常,它只序列化名称和地址,但 JavascriptSerializer 提供所有数据。
谁能告诉我可能是什么问题?
【问题讨论】:
标签: asp.net-mvc serialization javascriptserializer