zoukankan      html  css  js  c++  java
  • JSON格式转换

    代码1:

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

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

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

    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}sd{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;
                }
            }
  • 相关阅读:
    检测.netcore环境是否安装
    vc获取特殊路径
    vc 获取系统版本
    vs2019集成vcpkg
    vc 打开外部线程并等待结束
    cmd常用命令
    nodejs mongodb3.6.2 insertOne callback问题
    Effective Python Ver2.0_StudyNotes___getattr__、__getattribute__及__setattr__的一些知识点
    Python数据类型--集合简介
    Effective Python Ver2.0_StudyNotes_用描述符来改写需要复用的@property方法
  • 原文地址:https://www.cnblogs.com/wzq806341010/p/3544047.html
Copyright © 2011-2022 走看看