[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