• 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

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

  • 相关阅读:
    js下拉列表效果
    js格式化数字/日期
    通用的网页上的播放本地视频文件
    综合
    componentartclientmodeediting
    ESC键
    asp.net/ajax
    转载MS AJAX
    不允许进行远程连接可能会导致此失败 error: 40
    2007.9.17
  • 原文地址:https://www.cnblogs.com/ful1021/p/4804372.html
Copyright © 2020-2023  润新知