• j.net 实现json的序列化与反序列化


    首先理解,json是一种数据格式,而非一种数据类型。json格式的数据类型在c#中为string

    开始测试:

    使用Newtonsoft.Json包

    一:json转object

    using Newtonsoft.Json;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace JsonTest
    {
        class Program
        {
            static void Main(string[] args)
            {
    //构造json字符串
    var json = "{ 'people':" + "[{ 'firstName': 'Brett', 'lastName':'McLaughlin', 'email': 'aaaa' }," + "{ 'firstName': 'Jason', 'lastName':'Hunter', 'email': 'bbbb'}," + "{ 'firstName': 'Elliotte', 'lastName':'Harold', 'email': 'cccc' }]}";
    //使用Newtonsoft.Json中的JsonConvert转换json
    var jsonObj = JsonConvert.DeserializeObject<PeopleFather>(json); foreach (People item in jsonObj.people) { Console.WriteLine("firstName:"+item.firstName); Console.WriteLine("lastName:" + item.lastName); Console.WriteLine("email:" + item.email); Console.WriteLine("------"); } Console.ReadLine(); } } //构造json要转换的类 public class PeopleFather { public List<People> people { get; set; } } public class People { public string firstName { get; set; } public string lastName { get; set; } public string email { get; set; } } }

    结果:

     二:对象类型转json

    同样使用Newtonsoft.Json包

     static void Main(string[] agrs)
            {       
                var people = new People();
                people.firstName = "a";
                people.lastName = "b";
                people.email = "c";
                var json = JsonConvert.SerializeObject(people);
                Console.WriteLine(json);
                Console.ReadLine();
            }
    
     public class People {
            public string firstName { get; set; }
            public string lastName { get; set; }
            public string email { get; set; }
        }

    需要说明的是

    JsonConvert.SerializeObjectzai 被多次重载,还提供其它很多功能的支持
  • 相关阅读:
    Linux下安装Tomcat服务器和部署Web应用
    两个有序链表的合并
    一个时间效率为O(n)的排序算法
    五种常用的Web安全认证方式
    接口认证方式
    curl 命令详解~~
    高德地图、腾讯地图、谷歌中国区地图与百度地图坐标系
    CentOS 7 yum 安装与配置 JDK
    PHP调用Google Translate API接口
    关联了微信开放平台的小程序,某些情况无法获取到unionId
  • 原文地址:https://www.cnblogs.com/ttkknetroad/p/7702740.html
Copyright © 2020-2023  润新知