JSON反序列化C#中的嵌套列表#
问题描述:
我序列化和反序列化C#中的字典。我的数据结构为:JSON反序列化C#中的嵌套列表#
public class DataField
{
private string _Name;
public string Name
{
get { return _Name; }
set
{
_Name = value;
}
}
private string _Label;
public string Label
{
get { return _Label; }
set
{
_Label = value;
}
}
private ControlType _TypeOfControl;
public ControlType TypeOfControl
{
get { return _TypeOfControl; }
set { _TypeOfControl = value; }
}
private int _Width;
public int Width
{
get { return _Width; }
set
{
_Width = value;
}
}
private DataType _DataType;
public DataType DataType
{
get { return _DataType; }
set { _DataType = value; }
}
private Control _ControlAccessor;
public Control ControlAccessor
{
get { return _ControlAccessor; }
set { _ControlAccessor = value; }
}
private Type _ControlType;
public Type ControlType
{
get { return _ControlType; }
set { _ControlType = value; }
}
private List<KeyValuePair<string, string>> _Items;
public List<KeyValuePair<string, string>> Items
{
get { if (_Items == null) _Items = new List<KeyValuePair<string, string>>(); return _Items; }
set { _Items = value; }
}
我序列化对象是Dictionary<string, DataField>()
。我做:
JavaScriptSerializer js = new JavaScriptSerializer();
string str = js.Serialize(ht);`
我得到的字符串是正确的:
{"Title" {"Name":"Title","Label":null,"TypeOfControl":0,"Width":200,"DataType":0,"ControlAccessor":null,"ControlType":null,"Items":[]}
,"Price":{"Name":"Price","Label":null,"TypeOfControl":0,"Width":100,"DataType":1,"ControlAccessor":null,"ControlType":null,"Items":[]}
,"Category":{"Name":"Category","Label":null,"TypeOfControl":0,"Width":100,"DataType":1,"ControlAccessor":null,"ControlType":null,"Items":[]}
,"Test":{"Name":"Test","Label":null,"TypeOfControl":0,"Width":100,"DataType":1,"ControlAccessor":null,"ControlType":null,"Items":[]}
,radioGeo":{"Name":"radioGeo","Label":null,"TypeOfControl":3,"Width":0,"DataType":0,"ControlAccessor":null,"ControlType":null
,"Items":[{"Key":"Position","Value":"posit"},{"Key":"Area","Value":"area"},{"Key":"Area","Value":"area"}]}
,"htmled":{"Name":"htmled","Label":null,"TypeOfControl":2,"Width":170,"DataType":0,"ControlAccessor":null,"ControlType":null,"Items":[]}}";
当我反序列化,几乎所有的东西是正确的。问题是嵌套列表。虽然他们序列化好,但当我把它放回到一起时,列表是空的。
有什么建议吗?
我该怎么做? – Jeff 2011-06-05 21:15:17