C#高级 08Json操作

1.概念

  • Json是存储和交换文本信息的语法。类似于XML。
  • Json比XML更小、更快、更易解析。Json与XML一样是一种数据格式。
  • Json是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。Json采取完全独立于语言的文本格式,
    但是也使用了类似于C语言的习惯。这些特性使Json成为了理想的数据交换语言。易于人阅读和编写,同时也
    易于机器解析和生成(网络传输)

实例如下:

{"employees":[{"firstName":"Bill","lastName":"Gates"},{"firstName":"George","lastName":"Bush"},{"firstName":"Thomas","lastName":"Carter"}]
}

2.什么是Json

  • Json是轻量级的文本格式
  • Json独立于语言
  • Json具有自我描述性,更易于理解
  • Json使用javaScript语法来描述数据对象,但是Json任然独立于语言和平台。Json解析器和Json库
    支持许多不同的编程语言。

3.Json语法规则

  • 数据在键值对中
  • 数据由逗号分隔
  • 花括号保存对象
  • 中括号保存数组

4.Json官网

Json资料

5.Json文件读取

下面以Json文件的读取为例

Skill.txt

{"name":"扁鹊","maxHP":2000,"type":"法师","skillList":[{"id":2,"name":"技能1","damage":200},{"id":3,"name":"技能2","damage":255},{"id":4,"name":"技能3","damage":300}]
}

Skill.cs

internal class Skill
{public int id { get; set; }public string name { get; set; }public int damage { get; set; }
}

Hero.cs

internal class Hero
{public string name { get; set; }public int maxHP { get; set; }public string type { get; set; }public List<Skill> skillList { get; set; }
}

NuGet按照Json包

在这里插入图片描述

主要处理逻辑

internal class Program
{static void Main(string[] args){Hero hero = JsonConvert.DeserializeObject<Hero>(File.ReadAllText("Hero.txt"));Console.WriteLine(hero.name + "," + hero.type + "," + hero.maxHP);foreach (Skill s in hero.skillList){Console.WriteLine(s.id + ", " + s.name + " ," + s.damage);}Console.ReadKey();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/226591.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

创建VLAN及VLAN间通信

任务1、任务2、任务3实验背景&#xff1a; 在一家微型企业中&#xff0c;企业的办公区域分为两个房间&#xff0c;一个小房间为老板办公室&#xff0c;一个大房间为开放办公室&#xff0c;财务部和销售部的员工共同使用这个办公空间。我们需要通过VLAN的划分&#xff0c;使老板…

3D视觉-激光三角测量法的分类

按照入射激光光束和被测物体表面法线的角度关系&#xff0c;一般分为直射式和斜射式两种方式。 1&#xff09;直射式测量 如图所示&#xff0c;激光器发出的光线&#xff0c;经会聚透镜聚焦后垂直入射到被测物体表面上&#xff0c;物体移动或者其表面变化&#xff0c;导致入射…

elasticsearch系列四:集群常规运维

概述 在使用es中如果遇到了集群不可写入或者部分索引状态unassigned&#xff0c;明明写入了很多数据但是查不到等等系列问题该怎么办呢&#xff1f;咱们今天一起看下常用运维命令。 案例 起初我们es性能还跟得上&#xff0c;随着业务发展壮大&#xff0c;发现查询性能越来越不…

鸿蒙开发(二)- 鸿蒙DevEco3.X开发环境搭建

上篇说到&#xff0c;鸿蒙开发目前势头旺盛&#xff0c;头部大厂正在如火如荼地进行着&#xff0c;华为也对外宣称已经跟多个厂商达成合作。目前看来&#xff0c;对于前端或客户端开发人员来说&#xff0c;掌握下鸿蒙开发还是有些必要性的。如果你之前是从事Android开发的&…

Jackson ImmunoResearch纳米二抗(Nano Secondary Antibodies)

驼科&#xff0c;如羊驼和美洲驼&#xff0c;会产生一类独特的仅由重链组成的抗体。而抗原结合片段(Fab)&#xff0c;也称为仅可变重链片段抗体(Variable Heavy-Chain only fragment antibodies&#xff0c;VHH片段)&#xff0c;或纳米抗体&#xff0c;是一种新型抗体形式。凭借…

GBASE南大通用数据库提供的高可用负载均衡功能

GBASE南大通用GBase 8a ODBC 提供的高可用负载均衡功能是指&#xff0c;GBase 8a ODBC 会将客户 端请求的数据库集群连接平均分摊到集群所有可用的节点上。 GBASE南大通用数据库负载均衡的使用方法 GBASE南大通用GBase 8a ODBC 提供两种方式来使用高可用负载均衡。一种是配置数…

透彻掌握GIT基础使用

网址 https://learngitbranching.js.org/?localezh_CN 清屏 clear重新开始reset

Selenium框架添加CONNECT以抓取https网站

Selenium框架 Selenium是一个用于Web应用程序测试的强大工具&#xff0c;它提供了一系列的API&#xff0c;可以模拟用户在浏览器中的操作&#xff0c;包括点击、填写表单、导航等。在进行网络提取数据时&#xff0c;https网站的数据提取一直是一个技术难点。Selenium作为一个自…

改变进程优先级,Nodejs的os.setPriority()方法

改变进程优先级&#xff0c;Nodejs的os.setPriority&#xff08;&#xff09;方法 os.setPriority()方法是os模块的内置应用程序编程接口&#xff0c;在nodejs v10.10之后的版本中有效&#xff0c;用于设置pid和优先级指定的进程的调度优先级。 语法&#xff1a; os.setPrio…

如何使用 Prometheus 监控SpringBoot系统

公众号「架构成长指南」&#xff0c;专注于生产实践、云原生、分布式系统、大数据技术分享 在从零开始&#xff1a;使用Prometheus与Grafana搭建监控系统中&#xff0c;主要讲解了如何使用监控系统资源并进行告警&#xff0c;这节主要分享下&#xff0c;如何在业务系统中使用Pr…

音视频技术开发周刊 | 325

每周一期&#xff0c;纵览音视频技术领域的干货。 新闻投稿&#xff1a;contributelivevideostack.com。 AI读心术震撼登顶会&#xff01;模型翻译脑电波&#xff0c;人类思想被投屏&#xff5c;NeurIPS 2023 在最近举办的NeurIPS大会上&#xff0c;研究人员展示了当代AI更震撼…

iMazing2024免费版iOS移动设备管理软件

以自己的方式管理iPhone&#xff0c;让备受信赖的软件为您传输和保存音乐、消息、文件和数据。安全备份任何 iPhone、iPad 或 iPod touch。iMazing 功能强大、易于使用&#xff0c;称得上是 Mac 和 PC 上最好的 iOS 设备管理器。 正在为iTunes繁琐的操作发愁&#xff1f;设备数…

HTML+CSS+JS网页设计期末课程大作业 web课程设计 web前端开发 网页规划与设计

HTMLCSSJS网页设计期末课程大作业 web前端开发技术 web课程设计 网页规划与设计 &#x1f4a5; 文章目录一、&#x1f6a9; 网站描述二、&#x1f38c; 网站介绍三、&#x1f3f4; 网站类型A 个人博客主题B 人物明星主题C 旅游主题D 游戏主题E 动漫主题F 美食主题G 校园主题H 企…

uniapp框架——vue3+uniFilePicker+fastapi实现文件上传(搭建ai项目第二步)

文章目录 ⭐前言&#x1f496; 小程序系列文章 ⭐uni-file-picker 组件&#x1f496; 绑定事件&#x1f496; uploadFile api&#x1f496; 自定义上传 ⭐后端fastapi定义上传接口⭐uniapp开启本地请求代理devServer⭐前后端联调⭐总结⭐结束 ⭐前言 大家好&#xff0c;我是ym…

shiro1.10版本后-IniSecurityManagerFactory过期失效

1、问题概述&#xff1f; 今天在研究了shiro的新版本shiro1.13.0版本&#xff0c;发现用了很长时间的IniSecurityManagerFactory工厂失效了。 从下图中可以看出&#xff0c;在新版本中IniSecurityManagerFactory被打上了过期线了。 那么问题来了&#xff0c;新版本如何使用呢…

服务器数据恢复-raid6离线磁盘强制上线后分区打不开的数据恢复案例

服务器数据恢复环境&#xff1a; 服务器上有一组由12块硬盘组建的raid6磁盘阵列&#xff0c;raid6阵列上层有一个lun&#xff0c;映射到WINDOWS系统上使用&#xff0c;WINDOWS系统划分了一个GPT分区。 服务器故障&分析&#xff1a; 服务器在运行过程中突然无法访问。对服务…

Scikit-Learn线性回归(一)

Scikit-Learn线性回归一 1、线性回归概述1.1、回归1.2、线性1.3、线性回归1.4、线性回归的优缺点1.5、线性回归与逻辑回归2、线性回归的原理2.1、线性回归的定义与原理2.2、线性回归的损失函数3、Scikit-Learn线性回归3.1、Scikit-Learn库3.2、Scikit-Learn线性回归API3.3、Sci…

一起玩儿物联网人工智能小车(ESP32)——13. 用ESP32的GPIO控制智能小车运动起来(一)

摘要&#xff1a;本文更深入的讲述了GPIO的相关知识&#xff0c;并完成了导线连接工作&#xff0c;为下一步的软件开发做好了准备。 通用输入输出端口&#xff08;GPIO&#xff1a;General Purpose Input/Output Port&#xff09;&#xff0c;在前面已经有了初步的介绍&#xf…

韩国Neowine车规认证加密芯片ALPU-CV

由工采网代理的ALPU-CV是韩国Neowine&#xff08;纽文微&#xff09;推出的一款高性能车规级加密芯片&#xff1b;也是ALPU系列中的高端IC&#xff0c;该芯片通过《AEC-Q100》认证&#xff0c;目前已经在国产前装车辆配件量产使用&#xff0c;主要用于版权license保护、设备防伪…

2014年第三届数学建模国际赛小美赛B题全地形伪装解题全过程文档及程序

2014年第三届数学建模国际赛小美赛 B题 全地形伪装 原题再现&#xff1a; 破坏性着色在军事用途中很常见&#xff0c;用于军用车辆、士兵制服和装备。视觉是人类的主要方向感&#xff0c;伪装的主要功能是欺骗人眼。军事服装中存在大量的伪装图案&#xff0c;以适应作战服装与…