public class TestListResult<T> : List<T>
{
public TestListResult()
{
this.Successed = false;
this.Message = "";
}
public bool Successed { get; set; }
public string Message { get; set; }
}TestListResult<abc> list = new TestListResult<abc>();
abc a = new abc(); a.a = "aaa";
abc b = new abc(); b.a = "bbb";
abc c = new abc(); c.a = "ccc";
list.Message = "Notice Message!";
list.Successed = false;
list.Add(a);
list.Add(b);
list.Add(c); DataContractJsonSerializer serializer = new DataContractJsonSerializer(list .GetType());
string szJson = "";
using (MemoryStream stream = new MemoryStream())
{
serializer.WriteObject(stream, list );
szJson = Encoding.UTF8.GetString(stream.ToArray());
}
扩展了原有List功能,增加了其他的属性,现在需要Json序列化,但是结果没有序列化出扩展的几个属性,望高手指点
上面序列化结果:[{"a":"aaa"},{"a":"bbb"},{"a":"ccc"}]
期望结果:{"Message":"dfafdas","Successed":false,[{"a":"aaa"},{"a":"bbb"},{"a":"ccc"}]}
{
public TestListResult()
{
this.Successed = false;
this.Message = "";
}
public bool Successed { get; set; }
public string Message { get; set; }
}TestListResult<abc> list = new TestListResult<abc>();
abc a = new abc(); a.a = "aaa";
abc b = new abc(); b.a = "bbb";
abc c = new abc(); c.a = "ccc";
list.Message = "Notice Message!";
list.Successed = false;
list.Add(a);
list.Add(b);
list.Add(c); DataContractJsonSerializer serializer = new DataContractJsonSerializer(list .GetType());
string szJson = "";
using (MemoryStream stream = new MemoryStream())
{
serializer.WriteObject(stream, list );
szJson = Encoding.UTF8.GetString(stream.ToArray());
}
扩展了原有List功能,增加了其他的属性,现在需要Json序列化,但是结果没有序列化出扩展的几个属性,望高手指点
上面序列化结果:[{"a":"aaa"},{"a":"bbb"},{"a":"ccc"}]
期望结果:{"Message":"dfafdas","Successed":false,[{"a":"aaa"},{"a":"bbb"},{"a":"ccc"}]}
作为一个js对象,如何解读?不明白
js对象都是{name:value, name2:value}
{array}又怎么去取得呢?
public class TestListResult<T> : List<T>
{
public TestListResult()
{
this.Successed = false;
this.Message = "";
} [DataMember]
public bool Successed { get; set; } [DataMember]
public string Message { get; set; }
}
[DataContect(DataContract(Namespace=""))]
[DataMember(Name=""]如果用SerializableAttribute:
[Serializable]
[XmlRoot(ElementName = "Pupil", Namespace = "urn:MyNamespace")]
[XmlElement(ElementName=""]//这样来添加序列化信息
serializer.WriteObject(stream, data);
public class TestListResult<T>
{
public TestListResult()
{
this.Successed = false;
this.Message = "erwrerwrwer";
} [DataMember]
public bool Successed { get; set; } [DataMember]
public string Message { get; set; } [DataMember]
public List<T> List { get; set; }
}