c#的数据类型如何转化为json

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liyun211/article/details/57173749

使用Newtonsoft.Json.dll 提供的类JavaScriptConvert,可以很方便的将c#中定义的list<T>、类等结构转化为json字符串,这样做的好处是:前台的js代码如果要获得后台的复杂数据,可以先将后台的数据装在list<T>或者一个类的实体中,然后序列化成json字符串,赋值给前台的js,js就可以直接使用或者用query中的each函数遍历。

使用Newtonsoft.Json.dll将list<T>、类等结构转化为json的做法:

1、本项目直接引用Newtonsoft.Json.dll,或者引用含有这个dll的项目;

2、在代码中注明:using Newtonsoft.Json;

3、示例代码如下:

 // ---------序列化一个list<string>---------------

List<string>lst = new List<string>();

       lst.Add("aaaaa"); lst.Add("bbbbb"); lst.Add("ccccc");

        string jsonStr = JavaScriptConvert.SerializeObject(lst);

 

结果是: jsonStr= ["aaaaa"," bbbbb "," ccccc "]

 

// ----------------序列化一个list<string>-------------------

      

// 定义了类 test

public classtest

{

    publicstring str;

    publicint i;

    publicdouble j;

    publicList<string>ls;

}

 

 testt = new test();

        t.str ="abc";

        t.i =1000;

        t.j =300.222;

        t.ls = new List<string>();

       t.ls.Add("aaaaaaaaaa");t.ls.Add("bbbbbbbbbb"); t.ls.Add("cccccccc");

 

        jsonStr= JavaScriptConvert.SerializeObject(t);

 

  结果是:jsonStr= { "str":"abc","i":1000,"j":300.222,"ls":["aaaaaaaaaa","bbbbbbbbbb","cccccccc"]}

 

总结:一个list实体,序列化后,成为一个数组;一个类的实体,序列化后成为{ "key1":"value1","key2":"value2"… }这样的结构,key是类中成员名称,value是成员的值。

没有更多推荐了,返回首页