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

Posted 不上,道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 被多次重载,还提供其它很多功能的支持

以上是关于j.net 实现json的序列化与反序列化的主要内容,如果未能解决你的问题,请参考以下文章

GolangGo 语言 JSON 的序列化与反序列化实践

GolangGo 语言 JSON 的序列化与反序列化实践

GolangGo 语言 JSON 的序列化与反序列化实践

GolangGo 语言 JSON 的序列化与反序列化实践

Python Json序列化与反序列化

json和pickle的序列化与反序列化