大佬教程收集整理的这篇文章主要介绍了Silverlight 加载JSON文件 以及反序列化,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在写 Silverlight Demo的过程中,由于不想涉及到数据库的东西,于是把数据存储在JSON的配置文件中,通过加载并解析 JSON文件来实现加载数据到前端
首先建立silverlight 应用程序 在 Web 工程中增加一个文本文件 命名为 json.txt,输入如下内容
[{"contryname" : "日本","capital" : "东京"},
{"contryname" : "中国","capital" : "北京"},
{"contryname" : "美国","capital" : "华盛顿"},
{"contryname" : "印度","capital" : "新德里"}]
在Silverlight 的工程里面 使用webclient加载 json文件。
private void button1_Click(object sender,RoutedEventArgs E)
{
Uri serviceuri = new Uri("http://localhost:38716/json.txt");
WebClient downloader = new WebClient();
downloader.openReadCoR_487_11845@pleted += new openReadCoR_487_11845@pletedEventHandler(downloader_OpenReadCoR_487_11845@pleted);
downloader.openReadAsync(serviceuri);
}
void downloader_OpenReadCoR_487_11845@pleted(object sender,OpenReadCoR_487_11845@pletedEventArgs E)
{
StreamReader reader = new StreamReader(e.Result);
// messageBox.Show(reader.ReadToEnd());
JsonArray jdata =(JsonArray) JsonArray.Parse(reader.ReadToEnd());
}
foreach (JsonObject j in jdata) { messageBox.Show(j["国家"]); }在 .NET 的WEB 开发后台中我们可以使用JavaScriptserializer 来进行序列化和反序列化,然后再SL中却无法使用这个类
protected void Page_Load(object sender,EventArgs E) { Personnel personnel = new Personnel(); personnel.Id = 1; personnel.Name = "小白"; JavaScriptserializer jsonserializer = new JavaScriptserializer(); //执行序列化 String r1 = jsonserializer.serialize(personnel); //执行反序列化 Personnel _Personnel = jsonserializer.Deserialize<Personnel>(r1); }
DataContractJsonserializer js = new DataContractJsonserializer(typeof(List<country>)); List<country> ls = js.ReadObject(e.Result) as List<country>; foreach (country c in ls) { messageBox.Show(c.contryName); }
JSON对象数组字符串则保存在 变量s中
以上是大佬教程为你收集整理的Silverlight 加载JSON文件 以及反序列化全部内容,希望文章能够帮你解决Silverlight 加载JSON文件 以及反序列化所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。