c# Json 序列化后转化为对象类集合
来源:互联网 发布:虚拟商城软件下载 编辑:程序博客网 时间:2024/04/30 06:29
[WebMethod]
public static string GetAllHints()
{
Dictionary<string, string> data = new Dictionary<string, string>();
data.Add("苹果4代iphone正品", "21782");
data.Add("苹果4代 手机套", "238061");
data.Add("苹果4", "838360");
data.Add("苹果皮", "242721");
data.Add("苹果笔记本", "63348");
data.Add("苹果4s", "24030");
data.Add("戴尔笔记本", "110105");
data.Add("戴尔手机", "18870");
data.Add("戴尔键盘", "30367");
//JSON序列化
DataContractJsonSerializer serializer = new DataContractJsonSerializer(data.GetType());
string dataString=string.Empty;
//定义一个stream用来存放序列化之后的内容
using (MemoryStream ms = new MemoryStream())
{
//从头到尾将stream读取成一个字符串形式的数据,并且返回
var memor = new MemoryStream(Encoding.UTF8.GetBytes(dataString));;
//将Json字符串反序列化成List对象类集合
DataContractJsonSerializer ser2 = new DataContractJsonSerializer(typeof(List<ConvetJson>));
List<ConvetJson> list = (List<ConvetJson>)ser2.ReadObject(memor);
//下面进行其他操作即可。
//JsonList另外一种转化list方法可直接调用
}
return "";
}
/// <summary>
/// 将JSON字符串反序列化为List对象
/// </summary>
public List<ConvetJson> JsonList(string jsonString)
{
MemoryStream stream = new MemoryStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(List<ConvetJson>));
StreamWriter wr = new StreamWriter(stream);
wr.Write(jsonString);
wr.Flush();
stream.Position = 0;
Object obj = ser.ReadObject(stream);
List<ConvetJson> listJson = (List<ConvetJson>)obj;
return listJson;
}
//要序列化的类
[DataContract]
public class ConvetJson
{
[DataMember]
public string Key { get; set; }
[DataMember]
public string Value { get; set; }
public static string GetAllHints()
{
Dictionary<string, string> data = new Dictionary<string, string>();
data.Add("苹果4代iphone正品", "21782");
data.Add("苹果4代 手机套", "238061");
data.Add("苹果4", "838360");
data.Add("苹果皮", "242721");
data.Add("苹果笔记本", "63348");
data.Add("苹果4s", "24030");
data.Add("戴尔笔记本", "110105");
data.Add("戴尔手机", "18870");
data.Add("戴尔键盘", "30367");
//JSON序列化
DataContractJsonSerializer serializer = new DataContractJsonSerializer(data.GetType());
string dataString=string.Empty;
//定义一个stream用来存放序列化之后的内容
using (MemoryStream ms = new MemoryStream())
{
serializer.WriteObject(ms, data);
//dataString为返回json 字符串
//{"Key":"苹果4代iphone正品","Value":"21782"},{"Key":"苹果4代 手机套","Value":"238061"}
//从头到尾将stream读取成一个字符串形式的数据,并且返回
var memor = new MemoryStream(Encoding.UTF8.GetBytes(dataString));;
//将Json字符串反序列化成List对象类集合
DataContractJsonSerializer ser2 = new DataContractJsonSerializer(typeof(List<ConvetJson>));
List<ConvetJson> list = (List<ConvetJson>)ser2.ReadObject(memor);
//下面进行其他操作即可。
//JsonList另外一种转化list方法可直接调用
}
return "";
}
/// <summary>
/// 将JSON字符串反序列化为List对象
/// </summary>
public List<ConvetJson> JsonList(string jsonString)
{
MemoryStream stream = new MemoryStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(List<ConvetJson>));
StreamWriter wr = new StreamWriter(stream);
wr.Write(jsonString);
wr.Flush();
stream.Position = 0;
Object obj = ser.ReadObject(stream);
List<ConvetJson> listJson = (List<ConvetJson>)obj;
return listJson;
}
//要序列化的类
[DataContract]
public class ConvetJson
{
[DataMember]
public string Key { get; set; }
[DataMember]
public string Value { get; set; }
}
参考
www.rczjp.cn/ArticleShow.aspx?ID=717
http://www.techpot.net/archives/30308
http://www.cnblogs.com/coderzh/archive/2008/11/25/1340862.html
http://www.cnblogs.com/txw1958/archive/2012/08/01/csharp-json.html
- c# Json 序列化后转化为对象类集合
- List集合转化为json对象
- jackson 将对象,集合转化为json
- JSON字符串反序列化对象,对象序列化json,json转化为dynamic
- 【C# 工具类】将DataTable转化为 List集合/对象
- JSON辅助类,可以把一些对象和集合转化为标准的JSON格式
- C#通用类:json转换为对象,对象序列化XML
- 对象转化为json
- Json转化为对象
- 对象转化为json
- 对象(含有java.util.Date),集合等转化为json
- 将实体类或者集合序列化为JSON字符串,将JSON字符串反序列化还原为对象
- Json转化为C#类工具
- json快速转化为C#实体类
- JSON 转化为java对象
- 任意对象转化为JSON
- json转化为List对象。
- 对象转化为 JSON tree
- InitInstance函数
- Android 基于dpi的资源加载
- 黑马程序员—操作数组的练习:十进制数转换二进制、八进制、十六进制数。
- mysql-5.6主从复制及遇到的错误
- 2013年阿里巴巴一道笔试题(大文件处理)
- c# Json 序列化后转化为对象类集合
- 调用另一个Activity
- SLF4J 的几种实际应用模式--之一:SLF4J+Log4J
- Android学习系列--App集成支付宝
- UITableView编辑模式
- 迈向架构师之路
- rw,rwd,rws是什么
- 转】SLF4J 的几种实际应用模式--之二:SLF4J+Logback
- MySQL索引类型