zoukankan      html  css  js  c++  java
  • newtonsoft.json 序列化,反序列化

    public class Book
    {
      public string BookID { get; set; }
      public DateTime PublishDate { get; set; }
      public decimal Price { get; set; }

      public override string ToString()
      {
        return "ID:" + BookID + "; Date:" + PublishDate.ToShortDateString() + "; Price" + Price.ToString("n");
      }
    }

     Book bk = new Book() { BookID = "12111", PublishDate = DateTime.Parse("2012-2-1 22:12:11"), Price=433.12M};
     Console.WriteLine(JsonConvert.SerializeObject(bk));
    
     string jsonBook = "{'BookID':'123', 'PublishDate':'2011-1-2', 'Price':23.5}";
     Book bk1 = JsonConvert.DeserializeObject<Book>(jsonBook);
     Console.WriteLine(bk1.ToString());

    a.

    using Newtonsoft.Json;
    using System.Text;

    StringBuilder sb = new StringBuilder();
    string str = "[{ID:'1',Name:'John',Other:[{Age:'21',Sex:'0'}]},{ID:'2',Name:'Good',Other:[{Age:'36',Sex:'1'}]}]";
    JavaScriptArray javascript = (JavaScriptArray)JavaScriptConvert.DeserializeObject(str);

    for (int i = 0; i < javascript.Count; i++ )
    {
      JavaScriptObject obj = (JavaScriptObject)javascript[i];
      sb.Append("ID:" + obj["ID"].ToString());
      sb.Append("Name:" + obj["Name"].ToString());
      JavaScriptArray json = (JavaScriptArray)obj["Other"];

      for (int j = 0; j < json.Count; j++)

        {
        JavaScriptObject jsonobj = (JavaScriptObject)json[j];
        sb.Append("Age:" + jsonobj["Age"].ToString());
        sb.Append("Sex:" + jsonobj["Sex"].ToString());
      }
    }

    b.

    string jsonText = "[{'a':'aaa','b':'bbb','c':'ccc'},{'a':'aaa2','b':'bbb2','c':'ccc2'}]";
    JsonReader reader = new JsonReader(new StringReader(jsonText));
    while (reader.Read())
    {
      textBox1.Text += "TokenType = " + reader.TokenType + " ValueType = " + reader.ValueType + " Value = " + reader.Value + " ";

    }

    c.定义一个对象:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;

    /// <summary>
    ///Customer 的摘要说明
    /// </summary>
    public class Customer
    {
      //在序列化前后没有变动
      public string a { get; set; }
      //在序列化前后设置和重置
      public string b { get; set; }
      //设置为null,但在序列化后填充
      public string c { get; set; }
      public string Other { get; set; }
      public Customer()
      {
        //
        //TODO: 在此处添加构造函数逻辑
        //
        a = "";
        b = "";
        c = "";
        Other = null;
      }
    }

    using Newtonsoft.Json;
    using Newtonsoft.Json.Linq;

    string jsonText = "[{'a':'aaa','b':'bbb','c':'ccc'},{'a':'aaa2','b':'bbb2','c':'ccc2'}]";
    List<Customer> _list = JsonConvert.DeserializeObject<List<Customer>>(jsonText);
    Console.WriteLine(_list[1].a);
    foreach (Customer c in _list)
    {
      Console.WriteLine(c.c);
    }

  • 相关阅读:
    正当防卫与互殴的界限在哪里
    [php入门] 5、初学CSS从中记下的一些基础点(For小白)
    [ZigBee] 13、ZigBee基础阶段性回顾与加深理解——用定时器1产生PWM来控制LED亮度(七色灯)
    [ZigBee] 12、ZigBee之看门狗定时器——饿了就咬人的GOOD DOG
    [ZigBee] 11、ZigBee之睡眠定时器二
    [ZigBee] 10、ZigBee之睡眠定时器
    [ZigBee] 9、ZigBee之AD剖析——AD采集CC2530温度串口显示
    [ZigBee] 8、ZigBee之UART剖析·二(串口收发)
    [php入门] 4、HTML基础入门一篇概览
    [ZigBee] 2、 ZigBee开发环境搭建
  • 原文地址:https://www.cnblogs.com/vihone/p/3926389.html
Copyright © 2011-2022 走看看