json 反序列化问题 求解啊

a464669508 2014-02-12 11:30:51
{
"QUES_JSON": [
{
"chapter": true,
"code": "一",
"name": "一般情况",
"type": "part",
"values": { }
},
{
"chapter": false,
"code": "1.1",
"name": "性别",
"type": "radio",
"valueDict": [
{
"code": "1",
"name": "男性",
"type": "",
"valueDict": [ ]
},
{
"code": "2",
"name": "女性",
"type": "",
"valueDict": [ ]
}
],
"values": {
"2": {
"appends": { },
"code": "2",
"value": "女性"
}
}
}
]
}

求反序列化应 如何设计实体类,自己搞了好长时间也没有搞出来啊,求帮忙,在线等啊。
...全文
182 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ffff08ado 2014-02-12
  • 打赏
  • 举报
回复
用DataContractJsonSerializer试试
a464669508 2014-02-12
  • 打赏
  • 举报
回复
public class tempHTML
	{
		[DataMember(Order = 1, Name = "QUES_JSON")]
		public Ques_JSON QUES_JSON { get; set; }

		[DataContract]
		public class Ques_JSON
		{
			[DataMember(Order = 1, Name = "Value")]
			public List<ValueChild> ValueChild { get; set; }
			
		}
		[DataContract]
		public class ValueChild
		{
			[DataMember(Order = 1, Name = "chapter")]
			public bool chapter { get; set; }
			
			[DataMember(Order = 2, Name = "code")]
			public string code { get; set; }

			[DataMember(Order = 3, Name = "name")]
			public int name { get; set; }

			[DataMember(Order = 4, Name = "type")]
			public int type { get; set; }

			[DataMember(Order = 5, Name = "valueDict")]
			public List<ValueDict> valueDict { get; set; }

			[DataMember(Order = 6, Name = "values")]
			public Values values { get; set; }
		}

		[DataContract]
		public class ValueDict
		{			
			[DataMember(Order = 1, Name = "ValueDictChild")]
			public List<ValueDictChild>  valueDictChild { get; set; }			
		}

		[DataContract]
		public class ValueDictChild
		{
			[DataMember(Order = 1, Name = "code")]
			public int code { get; set; }

			[DataMember(Order = 2, Name = "name")]
			public string name { get; set; }

			[DataMember(Order = 3, Name = "type")]
			public string type { get; set; }

			[DataMember(Order = 4, Name = "ValueDict")]
			public ValueDict valueDict { get; set; }
		}

		[DataContract]
		public class Values
		{
			[DataMember(Order = 1, Name = "Num")]
			public Dictionary<string, Num> values { get; set; }
			//public Num num { get; set; }
		}

		[DataContract]
		public class Num
		{
			[DataMember(Order = 1, Name = "appends")]
			public string appends { get; set; }
			[DataMember(Order = 2, Name = "code")]
			public string code { get; set; }
			[DataMember(Order = 3, Name = "value")]
			public string value { get; set; }
		}

		
	}
如果用这种方式 该如何定义实体类啊
a464669508 2014-02-12
  • 打赏
  • 举报
回复
引用 1 楼 ffff08ado 的回复:
用DataContractJsonSerializer试试
该如何 定义实体类啊 能帮忙写下不,尤其是这种复杂点的,还有字典的 我就不会了 谢谢了
wind_cloud2011 2014-02-12
  • 打赏
  • 举报
回复

  JToken[] valueDict1;
    private void button21_Click(object sender, EventArgs e)
    {
        string json = "{\"QUES_JSON\":[{\"chapter\": true,\"code\":\"一\",\"name\":\"一般情况\", \"type\": \"part\",\"values\":{ }},{\"chapter\": false, \"code\": \"1.1\",\"name\": \"性别\",\"type\": \"radio\",\"valueDict\":[{\"code\":\"1\",\"name\":\"男性\",\"type\":\"\",\"valueDict\": [ ]},{\"code\":\"2\",\"name\":\"女性\",\"type\":\"\",\"valueDict\":[ ]}],\"values\":{\"2\":{\"appends\": { },\"code\": \"2\",\"value\": \"女性\"}}}]}";
        JObject jo = (JObject)JsonConvert.DeserializeObject(json);
        JToken[] items = jo["QUES_JSON"].ToArray();      
        foreach (JToken it in items)
        {
            string chapter = it["chapter"].ToString();
            string code = it["code"].ToString();
            string name = it["name"].ToString();
            string type = it["type"].ToString();
            string values = it["values"].ToString();
            string chapter1 = items[1]["chapter"].ToString();
            string code1 = items[1]["code"].ToString();
            string name1 = items[1]["name"].ToString();
            string type1 = items[1]["type"].ToString();       

        }
        valueDict1 = items[1]["valueDict"].ToArray();
        foreach (JToken v in valueDict1)
        {

            string code2 = v["code"].ToString();
            string name2 = v["name"].ToString();
            string type2 = v["type"].ToString();
            string valueDict2 = v["valueDict"].ToString();
        }
    }




内容概要:本文提出了一种基于“空调-电动汽车”联合虚拟储能的海岛微电网优化调度方法,旨在解决海岛地区可再生能源消纳难与电力供应不稳定的问题。通过充分利用空调负荷的热惰性与电动汽车的灵活充放电能力,构建联合虚拟储能系统,等效替代物理储能装置,实现对风电、光伏等间歇性电源出力波动的平抑。研究建立了融合需求响应机制与多时间尺度调度框架的优化模型,并采用Matlab进行仿真验证。结果表明,该策略能够有效提升微电网对分布式能源的接纳能力,降低系统综合运行成本,增强供电可靠性与能源利用效率。; 适合人群:具备一定电力系统分析、优化建模及Matlab编程基础,从事微电网、综合能源系统、虚拟储能、需求响应等领域研究的科研人员与工程技术人员,特别适合研究生及以上学历的研究者。; 使用场景及目标:①应用于海岛、偏远孤岛等孤立微电网场景,提升可再生能源渗透率与系统韧性;②为高比例新能源接入的配电网提供低成本、高灵活性的虚拟储能解决方案;③实现空调与电动汽车等柔性负荷的协同优化,达成削峰填谷、降低能耗与运行成本的目标; 阅读建议:建议结合Matlab代码深入理解模型构建与求解过程,重点关注虚拟储能建模逻辑、温控负荷动态特性刻画、电动汽车充放电约束处理以及多时间尺度滚动优化的实现机制,可进一步拓展至碳交易、绿证激励等复合政策情景下的优化调度研究。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧