C# - .NET自带的两种JSON序列化

Posted 贝尔塔猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# - .NET自带的两种JSON序列化相关的知识,希望对你有一定的参考价值。

Newtonsoft.dll插件

洪大师二次封装:

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

namespace DevFramework_2015.Common
{
    public class JsonHelper
    {
        public static string ListToJson<T>(List<T> li)
        #region
        {
            string jsonString = "";
            jsonString = JsonConvert.SerializeObject(li, Formatting.None);
            return jsonString;
        }
        #endregion



        public static List<T> JsonToList<T>(string jsonString)
        #region
        {
            List<T> li = JsonConvert.DeserializeObject<List<T>>(jsonString);

            return li;
        }
        #endregion



        public static string DictionaryToJson<TKey, TValue>(Dictionary<TKey, TValue> dic)
        #region
        {
            string jsonString = "";
            jsonString = JsonConvert.SerializeObject(dic, Formatting.None);
            return jsonString;
        }
        #endregion



        public static Dictionary<TKey, TValue> JsonToDictionary<TKey, TValue>(string jsonString)
        #region
        {
            Dictionary<TKey, TValue> dic = JsonConvert.DeserializeObject<Dictionary<TKey, TValue>>(jsonString);

            return dic;
        }
        #endregion



        public static string ArrayToJson<T>(T[] arrayObject)
        #region
        {
            string jsonString = "";
            jsonString = JsonConvert.SerializeObject(arrayObject, Formatting.None);

            return jsonString;
        }
        #endregion



        public static T[] JsonToArray<T>(string jsonString)
        #region
        {
            T[] arrayObject = JsonConvert.DeserializeObject<T[]>(jsonString);

            return arrayObject;
        }
        #endregion



        public static string DataTableToJson(DataTable dt)
        #region
        {
            string jsonString = "";

            jsonString = JsonConvert.SerializeObject(dt, Formatting.None);

            return jsonString;
        }
        #endregion



        public static DataTable JsonToDataTable(string jsonString)
        #region
        {
            DataTable dt;

            dt = JsonConvert.DeserializeObject<DataTable>(jsonString);

            return dt;         

        }
        #endregion
    }
}

 

对象直接转化为json字符串:

string jsonstr = JsonConvert.SerializeObject(response)

 json字符串转化为已知的对象

Response_QueryPrepareInfo _Response_QueryPrepareInfo = JsonConvert.DeserializeObject<Response_QueryPrepareInfo>(sRetStr);

 

以上是关于C# - .NET自带的两种JSON序列化的主要内容,如果未能解决你的问题,请参考以下文章

C#实体对象序列化成Json并让字段的首字母小写的两种解决方法

C#解析json的两种方式

js与C#服务端 json数据交互

JSON序列化(stringify)对象时排除某些属性的两种方法

C# web api 返回类型设置为json的两种方法

.NET(C#)通过JSON.NET反序列化Elasticsearch返回响应的结果