zoukankan      html  css  js  c++  java
  • JSON.NET框架实现C#对象和JSON字符串的转换

    什么是JSON.NET

    JSON.NET是一款高性能的JSON转换工具,和其他JSON序列化工具相比性能绝对出色。它由James Newton-Kind开发,你也可以前往他的个人项目主页中获取更多关于JSON.NET的信息:http://james.newtonking.com/json

    json的了解,参考: http://blog.csdn.net/ful1021/article/details/38516787

    序列化 JSON(List数据同样适用)

    Product product = new Product();
    product.Name = "Apple";
    product.Expiry = new DateTime(2008, 12, 28);
    product.Sizes = new string[] { "Small" };
     
    string json = JsonConvert.SerializeObject(product);
    //{
    //  "Name": "Apple",
    //  "Expiry": "2008-12-28T00:00:00",
    //  "Sizes": [
    //    "Small"
    //  ]
    //}

    反序列化 JSON

    string json = @"{
      'Name': 'Bad Boys',
      'ReleaseDate': '1995-4-7T00:00:00',
      'Genres': [
        'Action',
        'Comedy'
      ]
    }";
    
    Movie m = JsonConvert.DeserializeObject<Movie>(json);
    
    string name = m.Name;
    // Bad Boys

    List数据处理:

    //反序列化JSON字符串,将JSON字符串转换成LIST列表  
    List<Customer> _list = JsonConvert.DeserializeObject<List<Customer>>(jsonText);    

    LINQ to JSON

    JArray array = new JArray();
    array.Add("Manual text");
    array.Add(new DateTime(2000, 5, 23));
    
    JObject o = new JObject();
    o["MyArray"] = array;
    
    string json = o.ToString();
    // {
    //   "MyArray": [
    //     "Manual text",
    //     "2000-05-23T00:00:00"
    //   ]
    // }

    Validate JSON

    JsonSchema schema = JsonSchema.Parse(@"{
      'type': 'object',
      'properties': {
        'name': {'type':'string'},
        'hobbies': {'type': 'array'}
      }
    }");
    
    JObject person = JObject.Parse(@"{
      'name': 'James',
      'hobbies': ['.NET', 'LOLCATS']
    }");
    
    bool valid = person.IsValid(schema);
    // true

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    探讨e.target与e.currentTarget
    JavaScript事件模型
    博客
    angular创建自定义指令的四种方式
    jqueryMobile模块整理—图标(icons)
    jqueryMobile模块整理—按钮(buttons)
    Visio 2010,如何打开多个窗口
    Ajax.ActionLink浏览器中代码解析问题
    响应式布局
    jquery的each
  • 原文地址:https://www.cnblogs.com/ful1021/p/4804372.html
Copyright © 2011-2022 走看看