zoukankan      html  css  js  c++  java
  • Newtonsoft.Json 操作 JSON 字符串

    Newtonsoft.Json介绍

      在做开发的时候,很多数据交换都是以json格式传输的。而使用Json的时候,我们很多时候会涉及到几个序列化对象的使用:DataContractJsonSerializer,JavaScriptSerializer  Json.NET即Newtonsoft.Json。大多数人都会选择性能以及通用性较好Json.NET,这个不是微软的类库,但是一个开源的世界级的Json操作类库,从下面的性能对比就可以看到它的其中之一的性能优点。

    齐全的API介绍,使用方式简单

    一、把实体类转化为 JSON 字符串,提取 JSON 字符串中部分属性的值,Json转化为JArray,JArray转化为List.

    using Newtonsoft.Json;
    using Newtonsoft.Json.Linq;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace JasonTests
    {
        class Program
        {
            static void Main(string[] args)
            {
                SenderFromMQSearch senderFromMQSearch = new SenderFromMQSearch();
                senderFromMQSearch.StartTime = new DateTime(2017, 9, 10);
                senderFromMQSearch.EndTime = new DateTime(2017, 9, 10);
                senderFromMQSearch.FlowType = "DataSender";
    
                string paramsText = JsonConvert.SerializeObject(senderFromMQSearch);
    
                Console.WriteLine(paramsText);
                Console.ReadKey();
                string resultText = @"{
      Status: true, 
      'Msg': '成功', 
      'Data': 
      {
                    'SiteData': [
                      {
            'SiteNo': '200012',
                        'SiteName': '香港公司',
                        'Total': 100
          }, 
          {
            'SiteNo': '214001', 
            'SiteName': '江门腾达', 
            'Total': 200
          }
        ]
      }
    }";
                JObject jObj = JObject.Parse(resultText);
                Console.WriteLine(jObj["Data"].ToString());
                Console.WriteLine(jObj["Data"]["SiteData"].ToString());
                JArray siteDataArray = JArray.Parse(jObj["Data"]["SiteData"].ToString());
                IList<SiteInfo> list = siteDataArray.ToObject<IList<SiteInfo>>();
                Console.ReadKey();
            }
    
            public class SenderFromMQSearch
            {
                public DateTime StartTime { get; set; }
                public DateTime EndTime { get; set; }
    
                public string FlowType { get; set; }
    
            }
            public class SiteInfo
            {
                public string SiteNo { get; set; }
                public string SiteName { get; set;   }
                public int Total { get; set; }
            }
        }
    }

  • 相关阅读:
    oracle数据库表导出
    oracle-11G转10G
    ORACLE-创建用户和表空间
    idea 自定义toString
    springboot整合 mybatis.generator
    Linux mysql8.0.11安装
    助教工作:关于如何使用python+excel快捷生成千帆竞发图
    升级MySQL至最新版本
    Zabbix与Zabbix-agent2部署
    Yarn 的使用
  • 原文地址:https://www.cnblogs.com/YzpJason/p/8025225.html
Copyright © 2011-2022 走看看