我试图反序列化浏览器发送的对象。我的对象是Detail的数组,名称为key。名称是字符串,详细信息是具有属性的对象。
这是javascript对象的图片:
这是我收到的JSON字符串,使用" JSON.stringify(TemplateDetails)创建":
"{\"UDF1-0-div\":{\"UDFtitle\":\"theTitle\",\"DDLType\":\"STRING\",\"defaultValue\":\"defVal\",\"minLength\":\"1\",\"maxLength\":\"6\",\"decimals\":\"\",\"DDLTable\":\"\",\"DDLFilter\":\"\",\"DDLAction\":\"TEST\",\"DDLfontfamily\":\"Verdana\",\"DDLSize\":\"12px\",\"DDLTextAlignment\":\"left\",\"colorTitle\":\"#FFFFFF\",\"colorText\":\"#FFFFFF\"}}"
我想在c#代码中重新创建对象。
答案 0 :(得分:1)
首先,您应该创建一个包含所需属性的类:
public class MyClass
{
public string DDLAction{ get; set; }
public string DDLFilter{ get; set; }
public string DDLSize{ get; set; }
// put all of your attributes
//...
}
反序列化:
System.Web.Script.Serialization.JavaScriptSerializer ser = new System.Web.Script.Serialization.JavaScriptSerializer();
MyClass Obj = ser.Deserialize<MyClass>(input);
答案 1 :(得分:0)
这不是字典,字典看起来像这样:
{
"objName": {
["title", "thetitle"],
["DDLType":"STRING"],
["defaultValue": "defVal"]
}
}
你有一个常规对象,必须按原样创建它。