.Net中使用JSon

1.Json.net开源:http://json.codeplex.com

2.配置Json.net:选择对应的库文件放入项目bin目录。

                       引用代码:using Newtonsoft.Json;using Newtonsoft.Json,Linq;

3.序列化:Jsonconvert.SerializeObject(object)

protected void Page_Load(object sender, EventArgs e)
    {
        NorthwindEntities ne = new NorthwindEntities();
        var q = ne.Customers.OrderBy(m=>m.CompanyName).Select(m=>new {
            m.CustomerID,
            m.CompanyName,
            m.Country,
            m.City,
            m.Address,
            m.PostalCode,
            m.Phone,
            m.Region
        });
        Message = JsonConvert.SerializeObject(q);

    }

4.Linq To Json:用于JSon格式组织较为负责的文本数据。需要用到JObject,JArray,JPropery和JValue四个对象。

  1. JObject:生成一个JSON对象,形象点就是生成“{}”。
  2. JArray:生成一个JSON数组,形象点就是生成“[]”。
  3. JProperty:生成一个JSON数据,格式JPropery(key,value)。key为字符串,关键字,value为对象,值。
  4. JValue:生成一个JSon值,用于生成仅有值的数组。JValue(value)。
  5. 实例:
    protected void Page_Load(object sender, EventArgs e)
        {
            NorthwindEntities ne = new NorthwindEntities();
            var q = ne.Customers.OrderBy(m => m.CompanyName)
                .Select(m => new
                {
                    m.CustomerID,
                    m.CompanyName,
                    m.ContactName
                }
                ).ToList();
            Message = new JObject(
                new JProperty("total", q.Count()),
                new JProperty("rows",
                    new JArray(
                        from p in q
                        select  new JObject(
                            new JProperty("id", p.CustomerID),
                            new JProperty("cpname", p.CompanyName),
                            new JProperty("contactName", p.ContactName)
                            )        
                        )
                    )
                ).ToString();
        }

     

  6. JArray json=JArray.Parse(jsonstring)。Json字符串转换为Json数组。

 

 

 

 

posted @ 2013-01-08 21:35  光光  阅读(287)  评论(0)    收藏  举报