.NET中Json序列化反序列化操作辅助类——基于Json.NET

/// <summary>
    /// Json操作辅助类
    /// </summary>
    public static class JsonHelper
    {
        private static JsonSerializerSettings _jsonSettings;

        static JsonHelper()
        {
            IsoDateTimeConverter datetimeConverter = new IsoDateTimeConverter();
            datetimeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";

            _jsonSettings = new JsonSerializerSettings()
            {
                MissingMemberHandling = MissingMemberHandling.Ignore,
                NullValueHandling = NullValueHandling.Ignore,
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
            };
            _jsonSettings.Converters.Add(datetimeConverter);

        }

        /// <summary>
        /// 将指定的对象序列化成 JSON 数据。
        /// </summary>
        /// <param name="obj">要序列化的对象。</param>
        /// <returns></returns>
        public static string ToJson(object obj)
        {
            try
            {
                if (null == obj)
                    return null;

                return JsonConvert.SerializeObject(obj, Formatting.None, _jsonSettings);
            }
            catch (Exception ex)
            {
                return null;
            }
        }

        /// <summary>
        /// 将指定的 JSON 数据反序列化成指定对象。
        /// </summary>
        /// <typeparam name="T">对象类型。</typeparam>
        /// <param name="json">JSON 数据。</param>
        /// <returns></returns>
        public static T FromJson<T>(string json)
        {
            try
            {
                return JsonConvert.DeserializeObject<T>(json, _jsonSettings);
            }
            catch (Exception ex)
            {
                return default(T);
            }
        }
    }
时间: 2024-11-05 22:42:24

.NET中Json序列化反序列化操作辅助类——基于Json.NET的相关文章

常用json序列化/反序列化技术对比测试

目前常用的json工具有:1.json-lib:2.jakson-mapper:3.fastjson. 下面对这三种工具的性能进行简单对比测试. 测试样本:一个126K的json文件,内容为json数组. 测试方法:反序列化,读取文件中的json转化为java对象. 测试代码如下: 1 @Test 2 public void testDeserialize() throws Exception { 3 String dealer = "d:\\auto\\json\\100016109.js&q

python json 序列化反序列化 和 中文编码问题

在一个项目中,需要从云端获取一个json格式的数据,并保存到本地文件中,然后再读取出来,这中间要用到json的dumps方法和loads方法,以实现数据的序列化和反序列化.具体来说,dumps方法,可将json格式数据序列为python的相关的数据类型,通常用于打印等:loads方法则是相反,把python数据类型转换为json相应的数据类型格式要求,反序列化后可以对json数据进行各种操作.在编程过程还发现一个问题,在序列化时,中文汉字总是被转换为unicode码,在网上搜索后发现,在dump

JSON序列化反序列化

JSON(全称为JavaScript Object Notation) 是一种轻量级的数据交换格式.它是基于JavaScript语法标准的一个子集. JSON采用完全独立于语言的文本格式,可以很容易在各种网络.平台和程序之间传输.JSON的语法很简单,易于人阅读和编写,同时也易于机器解析和生成. JSON与XML的比较 ◆可读性 JSON和XML的可读性相比较而言,由于XML提供辅助的标签,更加适合人阅读和理解.◆文件大小与传输 XML允许使用方便的标签,所以文件尺寸是要比JSON大的.而且JS

nodejs - json序列化&amp;反序列化示例

1 // demo-json.js 2 var obj = { 3 "name": "LiLi", 4 "age": 22, 5 "sex": "F" 6 }; 7 8 var str = JSON.stringify(obj); 9 console.log(str); 10 11 var obj2 = JSON.parse(str); 12 console.log(obj2); json序列化最终结果是字

解决MVC Json序列化的循环引用问题/EF Json序列化循引用问题---Newtonsoft.Json

1..Net开源Json序列化工具Newtonsoft.Json中提供了解决序列化的循环引用问题: 方式1:指定Json序列化配置为 ReferenceLoopHandling.Ignore 方式2:指定 JsonIgnore忽略 引用对象 实例1,解决MVC的Json序列化引用方法: step1:在项目上添加引用 Newtonsoft.Json程序包,命令:Insert-Package Newtonsoft.Json step2:在项目中添加一个类,继承JsonResult,代码如下: ///

Newtonsoft.Json 序列化反序列化

public class People { public string name { get; set; } public string age { get; set; } public string sex { get; set; } }List<People> list = new List<People>(); list.Add(new People { name = "Jane", age = "18", sex = "fe

json序列化反序列化后function丢失

------------恢复内容开始------------ 最近在做echarts相关功能时遇到个问题,需要将option存入库里. 但取出来发现function没了. 这么操作一下就可以了. // json对象转换成字符串 var s=JSON.stringify(json, function(key, val) { if (typeof val === 'function') { return val + ''; } return val; }); // json字符串转换成对象 JSON

ASP.NET(C#) Json序列化反序列化帮助类Jsonhelper

原文地址:https://ken.io/note/csharp-asp.net-jsonhelper using System; using System.Collections.Generic; using System.Web; using System.Web.Script.Serialization; using System.Data; namespace Utils { /// <summary> /// JSON帮助类 /// </summary> public cl

DotNet的JSON序列化与反序列化

JSON(JavaScript Object Notation)JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.在现在的通信中,较多的采用JSON数据格式,JSON有两种表示结构,对象和数组,JSON 数据的书写格式是:名称/值对. 在vs解决方案中以前采用xml树的形式,组织项目的结构.在新的.net core中,项目的解决方案采用json作为项目的结构说明. 在.net的前后台数据交互中,采用序列化对象为json,前端ajax接受传输数据,反序列化为对象,在