• Asp.Net中使用Newtonsoft.Json转换,读取,写入


    using Newtonsoft.Json;
    using Newtonsoft.Json.Converters;

    //把Json字符串反序列化为对象
    目标对象 = JsonConvert.DeserializeObject(JSON字符串, typeof(目标对象));
    //把目标对象序列化为Json字符串

    string Json字符串 = JsonConvert.SerializeObject(目标对象);


    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 = JsonConvert.SerializeObject(product);
    //{
    //  "Name": "Apple",
    //  "Expiry": new Date(1230422400000),
    //  "Price": 3.99,
    //  "Sizes": [
    //     "Small",
    //     "Medium",
    //     "Large"
    //  ]
    //}
     
    Product deserializedProduct = (Product)JsonConvert.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 JsonTextWriter(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'}]
     
    //把datatable转换成json格式 
    public string GetAllCategory()   
    {       
        string result = "";  
        DataTable dt= catDAO.GetAllCategory();  
        result=JsonConvert.SerializeObject(dt, new DataTableConverter());  
        return result;  
  • 相关阅读:
    可由inetd启动的协议无关时间获取服务器程序
    daemon_inetd函数
    作为守护进程运行的协议无关时间获取服务器程序
    daemon_init函数:调用该函数把普通进程转变为守护进程
    getnameinfo函数
    tcp_connect函数
    20200311 11. 应用生命周期事件
    20200311 10. Web 应用
    20200311 9. 分派请求
    20200311 8. 注解和可插拔性
  • 原文地址:https://www.cnblogs.com/mili3/p/3219308.html
Copyright © 2020-2023  润新知