将json数据作为value添加到字典中

情景:通过参数传入的方式将红色框这个数组作为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版权协议,转载请附上原文出处链接和本声明。