• Newtonsoft.Json.dll 使用


    Newtonsoft.Json.dll 使用  

     

    安装:
    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\t\tValueType\t\tValue");
     
    while (reader.Read())
    {
         Console.WriteLine(reader.TokenType + "\t\t" + WriteValue(reader.ValueType) + "\t\t" + 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'}]

     

    再例如MiniUI_project中

    #region 为用户登录写入json数据
            /// <summary>
            /// 为用户登录写入json数据
            /// </summary>
            /// <param name="Status">登录状态</param>
            /// <param name="UserName">用户名</param>
            /// <returns></returns>
            public string WriteJsonForReturn(bool Status, string UserName)
            {
                StringBuilder json = new StringBuilder();
                StringWriter sw = new StringWriter(json);
                using (JsonWriter jsonWriter = new JsonTextWriter(sw))
                {
                    jsonWriter.Formatting = Formatting.Indented;
                    jsonWriter.WriteStartObject();
                    jsonWriter.WritePropertyName("Status");
                    jsonWriter.WriteValue(Status);
                    jsonWriter.WritePropertyName("UserName");
                    jsonWriter.WriteValue(UserName);
                    jsonWriter.WriteEndObject();
                }
                return json.ToString();
            } 
            #endregion
    

     

  • 相关阅读:
    C语言_航模社第四节
    C语言_航模社第三节
    C语言交换两个变量的值
    C语言表达分段函数
    c语言_2017.10.22
    stm32_配置GPIO点亮led灯
    prteus8安装教程
    安装keil_5步骤
    nginx配置实现https的配置文件方法
    TortoiseGit 代码版本回退及返回
  • 原文地址:https://www.cnblogs.com/wenghaowen/p/2680546.html
Copyright © 2020-2023  润新知