JSON.NET 简单的使用

前端之家收集整理的这篇文章主要介绍了JSON.NET 简单的使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

JSON.NET(http://json.codeplex.com/)使用来将.NET中的对象转换为JSON字符串(序列化?),或者将JSON字符串转换为.NET中已有类型的对象(反序列化?)

首先为了例子随便定义一个类型:

@H_403_17@public @H_403_17@class Product
{
    @H_403_17@string Name { @H_403_17@get; @H_403_17@set; }
    @H_403_17@public DateTime Expiry { @H_403_17@decimal Price { @H_403_17@string[] Sizes { @H_403_17@set; }

    @H_403_17@override @H_403_17@string ToString()
    {
        @H_403_17@return @H_403_17@string.Format("Name:{0},Expiry:{1},Price:{2},SizesCount:{3}",Name,Expiry,Price,Sizes.Length);
    }
}

初始化对象:

static @H_403_17@void Main(@H_403_17@string[] passwordargs) { Product product = @H_403_17@new Product() { Name = android DateTime.Now,Price = 2000,Sizes = @H_403_17@new @H_403_17@string[] { 1.5",2.24.1" } }; }

进行到JSON的转换:

Console.WriteLine(JsonConvert.SerializeObject(product));

输出结果:

{"Name":"android","Expiry":"2013-08-30T09:50:11.5147845+08:00","Price":2000.0,"Sizes":["1.5","2.2","4.1"]}

其它看起来一切正常,除了这个日期有点怪

格式化日期:

//设置日期时间的格式,与DataTime类型的ToString格式相同
IsoDateTimeConverter iso = @H_403_17@new IsoDateTimeConverter();
iso.DateTimeFormat = yyyy-MM-dd HH:mm:ss";

Console.WriteLine(JsonConvert.SerializeObject(product,iso));

输出结果:

{"Name":"android","Expiry":"2013-08-30 09:53:58","4.1"]}

从JSON到对象的转换:

string str = {\"Name\":\"android\",\"Expiry\":\"2013-08-30 09:53:58\",\"Price\":2000.0,\"Sizes\":[\"1.5\",\"2.2\",\"4.1\"]}"; Product p = (Product)JsonConvert.DeserializeObject(str,@H_403_17@typeof(Product)); Console.WriteLine(p.ToString());

输出结果:

Name:android,Expiry:2013/8/30 9:53:58,Price:2000.0,SizesCount:3

从JSON到键值对的转换:

string strJson = @"{""Name1"": ""小明"",""Name2"": ""小花"",""Name3"": ""小红""}"; Dictionary<@H_403_17@string,255)">string> _dictionary = JsonConvert.DeserializeObject<Dictionary<@H_403_17@string>>(strJson); @H_403_17@foreach (KeyValuePair<@H_403_17@string> kp @H_403_17@in _dictionary) { Console.WriteLine(kp.Key + :" + kp.Value); }

输出结果:

Name1:小明
Name2:小花
Name3:小红

从字符串转换到JSON对象,以及JSON对象的简单使用:

string strJson2 = { ""student"": { ""Name1"": ""小明"",""Name3"": ""小红""} }"; JObject jsonObj = JObject.Parse(strJson2); Console.WriteLine(jsonObj[student"][Name1"].ToString()); Console.WriteLine(jsonObj[Name2Name3"].ToString());

输出结果:

小明
小花
小红

直接生成JSON对象:

JObject json =
    @H_403_17@new JObject(
    @H_403_17@new JProperty(Channel403_17@new JObject(
        titleJSON"),0)">linkJSON.NETdescriptionJSON.NET Descriptionitemsnew JArray(
            @H_403_17@new JObject(haha1123")),0)">haha2456haha3789"))
                )))));

Console.WriteLine(json.ToString());

输出结果:

{
"Channel": {
"title": "JSON",
"link": "JSON.NET",
"description": "JSON.NET Description",
"items": [
{
"haha1": "123"
},
{
"haha2": "456"
},
{
"haha3": "789"
}
]
}
}

暂时先记录这么多,以后再继续补充

3
0
(请您对文章做出评价)
«上一篇ASP.NET 解决URL中文乱码的解决

猜你在找的Json相关文章