• Newtonsoft.Json序列化和反序列


    (转自:http://www.cnblogs.com/sbxwylt/archive/2008/12/31/1366199.html)

    这里下载:http://www.newtonsoft.com/products/json/
    安装:
       1.解压下载文件,得到Newtonsoft.Json.dll
       2.在项目中添加引用..
     序列化和反序列在.net项目中:
     

    Product product = new Product(); 
    product.Name = "Apple";
    product.Expiry = new DateTime(2008, 12, 28);
    product.Price = 3.99M;
    product.Sizes = new string[] { "Small", "Medium", "Large" }; 
    string output = javascriptConvert.SerializeObject(product);
    //{
    //  "Name": "Apple",
    //  "Expiry": new Date(1230422400000),
    //  "Price": 3.99,
    //  "Sizes": [
    //    "Small",
    //    "Medium",
    //    "Large"
    //  ]
    //} 
    Product deserializedProduct = (Product)javascriptConvert.DeserializeObject(output, typeof(Product));

      
    读取JSON

    string jsonText = "['JSON!',1,true,{property:'value'}]"
    JsonReader reader = new JsonReader(new StringReader(jsonText)); 
    Console.WriteLine("TokenType		ValueType		Value");
    while (reader.Read())

    {
        Console.WriteLine(reader.TokenType + "		" + WriteValue(reader.ValueType) + "		" + WriteValue(reader.Value))
    }


    结果显示:

    TokenTypeValueTypeValue
    StartArray null null
    String System.String JSON!
    Integer System.Int32 1
    Boolean System.Boolean True
    StartObject null null
    PropertyName System.String property
    String System.String value
    EndObject null null
    EndArray null null

    JSON写入

    StringWriter sw = new StringWriter();
    JsonWriter writer = new JsonWriter(sw);
     
    writer.WriteStartArray();
    writer.WriteValue("JSON!");
    writer.WriteValue(1);
    writer.WriteValue(true);
    writer.WriteStartObject();
    writer.WritePropertyName("property");
    writer.WriteValue("value");
    writer.WriteEndObject();
    writer.WriteEndArray(); 
    writer.Flush(); 
    string jsonText = sw.GetStringBuilder().ToString(); 
    Console.WriteLine(jsonText);
    // ['JSON!',1,true,{property:'value'}]


    这里会打印出: ['JSON!',1,true,{property:'value'}].

  • 相关阅读:
    20210110-正则表达式
    20210105
    C# Expression 树转化为SQL语句(一)
    5000行js db
    Keras智能
    nginx 设置多个tcp IP代理 socket 转发
    FTP连接时出现“227 Entering Passive Mode” 的解决方法
    windows nginx TCP代理 负载均衡
    nginx 代理ftp
    Intellij IDEA添加项目依赖
  • 原文地址:https://www.cnblogs.com/FindSelf/p/3738775.html
Copyright © 2020-2023  润新知