分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

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

发布时间:2023-09-06 01:19责任编辑:郭大石关键词:jsjson

首先理解,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的序列化与反序列化

原文地址:http://www.cnblogs.com/ttkknetroad/p/7702740.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved