zoukankan      html  css  js  c++  java
  • Json序列化对象

    之前都是用的二进制的序列化方法,是.net自带的,但是最常用到的还是Json序列化

    (1)只需要调用 Newtonsoft.Json.dll 即可

    public class JsonTools
    {
    // 从一个对象信息生成Json串
    public static string ObjectToJson(object obj)
    {
    return JavaScriptConvert.SerializeObject(obj);
    }
    // 从一个Json串生成对象信息
    public static object JsonToObject(string jsonString, object obj)
    {
    return JavaScriptConvert.DeserializeObject(jsonString, obj.GetType());
    }
    }

    据说上面这个效率比较低

    (2)调用Josn.net 效率高点,利用泛型无需转换

    public class JsonTools
    {
    // 从一个对象信息生成Json串
    public static string ObjectToJson(object obj)
    {

    return Newtonsoft.Json.JsonConvert.SerializeObject(obj);
    }
    // 从一个Json串生成对象信息
    public static T JsonToObject<T>(string jsonString ) where T:class
    {
    T result = Newtonsoft.Json.JsonConvert.DeserializeObject<T>(jsonString);
    return result; 
    }
    }

    或者用扩展方法

    public static class JsonHelper
    {
    public static String ToJson<T>(this T ojb) where T:class
    {
    return JsonConvert.SerializeObject(ojb, Formatting.Indented);

    }
    public static T ToInstance<T>(this String jsonStr) where T : class
    {
    var instance = JsonConvert.DeserializeObject<T>(jsonStr);

    return instance;

    }
    }

  • 相关阅读:
    open_basedir restriction in effect的错误及其解决办法
    SNMP-网络管理协议
    安装cacti监控系统
    并发时-修改Linux系统下的最大文件描述符限制
    js new date()说明
    阿里云ECS环境部署 centos 6.5
    sysbench
    http_load
    LeetCode: Spiral Matrix
    LeetCode:Length of Last Word
  • 原文地址:https://www.cnblogs.com/zhshlimi/p/4997549.html
Copyright © 2011-2022 走看看