您的位置:首页 > Web前端 > JavaScript

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

2017-02-25 23:49 204 查看
使用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是成员的值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  json c#