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);
    }

  • 相关阅读:
    【翻译】Flink Table Api & SQL — 流概念
    Flink Table Api & SQL 翻译目录
    【翻译】Flink Table Api & SQL — 性能调优 — 流式聚合
    记一次kube-apiserver启动失败排错
    使用Docker和K8s搭建FastDFS分布式文件系统
    Windows 下安装RabbitMQ服务器及基本配置
    k8s部署ingress-nginx报错排错
    k8s使用私有镜像仓库Harbor下载镜像ImagePullBackOff错误拍错
    第二次安装docker时,报Transaction check error的解决方法
    k8s出现error: no configuration has been provided, try setting KUBERNETES_MASTER environment variable
  • 原文地址:https://www.cnblogs.com/vihone/p/3926389.html
Copyright © 2011-2022 走看看