JSON格式转换

时间:2014-02-11 16:34:05   收藏:0   阅读:504

代码1:

引用:System.ServiceModel.Web程序集(系统内置)

bubuko.com,布布扣
public static T JSONDecode<T>(string json)
{
    JsonQueryStringConverter converter = new JsonQueryStringConverter();
    return (T) converter.ConvertStringToValue(json, typeof(T));
}
bubuko.com,布布扣
bubuko.com,布布扣
public static string JSONEncode<T>(T obj)
{
    JsonQueryStringConverter converter = new JsonQueryStringConverter();
    return converter.ConvertValueToString(obj, typeof(T));
}
bubuko.com,布布扣

代码2:
引用:System.Text.RegularExpressions; System.Runtime.Serialization.Json;

bubuko.com,布布扣
public static string ObjectToJson<T>(T t)
        {
            using (MemoryStream ms = new MemoryStream())
            {
                DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
                serializer.WriteObject(ms, t);
                ms.Position = 0;
                using (StreamReader reader = new StreamReader(ms))
                {
                    string json = reader.ReadToEnd();
                    string p = @"\\/Date\((\d+)\+\d+\)\\/";
                    MatchEvaluator evaluator = new MatchEvaluator(ConvertJsonDataToDataString);
                    Regex reg = new Regex(p);
                    json = reg.Replace(json, evaluator);
                    return json;
                }
            }

        }

        public static T JsonToObject<T>(string json)
        {
            string p = @"\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}";
            MatchEvaluator evaluator = new MatchEvaluator(ConvertDateStringToJsonDate);    //对时间进行处理
            Regex reg = new Regex(p);
            json = reg.Replace(json, evaluator);
            using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(json)))
            {
                DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
                JsonQueryStringConverter json1 = new JsonQueryStringConverter();
                return (T)json1.ConvertStringToValue(json, typeof(T));
                T data = (T)serializer.ReadObject(ms);
                return data;
            }
        }
bubuko.com,布布扣

原文:http://www.cnblogs.com/wzq806341010/p/3544047.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!