一、序列化为Json字符串
当需要将对象转为{ "street": "科技园路.", "city": "江苏苏州", "country": "中国"}
这种格式时使用序列化(不引入外部dll的方式)
public static String SerializeObject(Object o)
{
System.Web.Script.Serialization.JavaScriptSerializer json = new System.Web.Script.Serialization.JavaScriptSerializer();
String jsonString = json.Serialize(o);
return jsonString;
}
在使用上述方法之前先得添加引用“System.Web.Extensions”,然后还得在类前面增加using System.Web;
反序列化为指定对象
JavaScriptSerializer js = new JavaScriptSerializer();
Student model = js.Deserialize< Student>(jsonStr);// //反序列化
二、将字符串key、value进行&连接
两个方法大同小异
方法一:
private string dataToString(Dictionary<string,string> data)
{
StringBuilder sub = new StringBuilder();
foreach (string s in data.Keys)
{
if (sub.Length > 0)
{
sub.Append("&");
}
sub.Append(System.Web.HttpUtility.UrlEncode(s) + "=" + System.Web.HttpUtility.UrlEncode(data[s].ToString()));
}
return sub.ToString();
}
方法2:
private string dataToString(Dictionary<string,string> data)
{
StringBuilder buffer = new StringBuilder();
int i = 0;
foreach (string key in data.Keys)
{
if (i > 0)
{
buffer.AppendFormat("&{0}={1}", key, data[key]);
}
else
{
buffer.AppendFormat("{0}={1}", key, data[key]);
}
i++;
}
return buffer.ToString();
}
运行结果