情景:通过参数传入的方式将红色框这个数组作为value添加到字典中,去掉绿色框这里的转义字符及数组内层的三个转义变为一个(因为其将\和“进行了转义)
两个红色框的对双引号进行转义,绿色框对\”进行转义
方法一:将序列化为结果进行替换,
demo如下:
public String dataTest()
{
String arrStr = "[{\"name\":\"Google\",\"url\":\"http://www.google.com\"},{\"name\":\"Baidu\",\"url\":\"http://www.baidu.com\"}]";
SortedDictionary<String, object> dic = new SortedDictionary<string, object>();
dic.Add("data", arrStr);
dic.Add("name","hio");
dic.Add("age","21");
System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer();
String jsonStr = js.Serialize(dic).Replace("\\\"", "\"").Replace("\"[","[").Replace("]\"","]");
System.Diagnostics.Debug.WriteLine("序列化后的数据为:" + jsonStr);
return jsonStr;
}
ps:注意,转义字符不包含中括号,所以不会把中括号转义;
应该还有其他办法,使得添加进来的数组不当成字符串
目前还没想到,后续想到补充
版权声明:本文为weixin_39885282原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。