• json.net


    json.net 是一个用C#写的Json的操作类库,可以在http://json.codeplex.com/ 下载

    对象序列化为json字符串

    public class Product
    {
        public string Name { get; set; }
        public DateTime Expiry { get; set; }
        public decimal Price { get; set;}
        public string[] Sizes { get; set; }
    }
    
    static void Main(string[] args)
    {
        Product product = new Product() { 
           Name ="android",
           Expiry =new DateTime (),
           Price =2000,
           Sizes =new  string[]{"1.5","2.2","4.1"}
        };
    
        Console.WriteLine(JsonConvert.SerializeObject(product));
    
        Console.Read();
    }

    输出 :

    {"Name":"android","Expiry":"\/Date(-62135596800000 0800)\/","Price":2000.0,"Size
    s":["1.5","2.2","4.1"]}

    设置时间类型的格式 两个用来序列化时间的对象IsoDateTimeConverter JavaScriptDateTimeConverter

    Console.WriteLine(JsonConvert .SerializeObject (product,new IsoDateTimeConverter()));
    
    Console.WriteLine(JsonConvert.SerializeObject(product, new JavaScriptDateTimeConverter()));

    输出

    {"Name":"android","Expiry":"2000-09-09T00:00:00","Price":2000.0,"Sizes":["1.5","
    2.2","4.1"]}
    {"Name":"android","Expiry":new Date(968428800000),"Price":2000.0,"Sizes":["1.5",
    "2.2","4.1"]}

    自定义输出时间格式

    IsoDateTimeConverter iso = new IsoDateTimeConverter();
     iso.DateTimeFormat = "yyyy-MM-dd";//设置事件的格式
    
    Console.WriteLine(JsonConvert.SerializeObject(product, iso));

    输出

    {"Name":"android","Expiry":"2000-09-09","Price":2000.0,"Sizes":["1.5","2.2","4.1
    "]}

    反序列化

    Product p=(Product)JsonConvert.DeserializeObject(str, typeof(Product));

    创建Jobject对象

    JObject rss =
      new JObject(
        new JProperty("channel",
          new JObject(
            new JProperty("title", "James Newton-King"),
            new JProperty("link", "http://james.newtonking.com"),
            new JProperty("description", "James Newton-King's blog."),
            new JProperty("item",
              new JArray(
                from p in posts
                orderby p.Title
                select new JObject(
                  new JProperty("title", p.Title),
                  new JProperty("description", p.Description),
                  new JProperty("link", p.Link),
                  new JProperty("category",
                    new JArray(
                      from c in p.Categories
                      select new JValue(c)))))))));
     
    Console.WriteLine(rss.ToString());

    直接用对象创建Jobject对象

    JObject obj = JObject.FromObject(new Product()
                 {
                     Name = "android",
                     Expiry = new DateTime(2000, 9, 9),
                     Price = 2000,
                     Sizes = new string[] { "1.5", "2.2", "4.1" }
                 });
  • 相关阅读:
    5.24 javascrip累加求和练习
    5.23 汽车之家 界面练习
    5.22 格式与布局知识点整理
    MVC4是不是类似于html页+ashx页之间用JSON通过AJAX交换数据这种方式、?
    .net面试题
    ASP.Net1
    登陆、激活、权限
    无边框窗体
    用户控件
    弹出唯一窗口
  • 原文地址:https://www.cnblogs.com/ac1985482/p/2587957.html
Copyright © 2020-2023  润新知