当前位置:网站首页>json到底是什么(c# json)
json到底是什么(c# json)
2022-07-31 15:06:00 【全栈程序员站长】
大家好,又见面了,我是你们的朋友全栈君。
如果点进来的刚巧是个高手,那……你就当是过来做个鉴定的吧。很多从事数据分析工作的伙伴都是从“最简单”的神器—Excel开始入门的,对编程语言、计算机世界的很多工具都不甚了解。要做结构化的数据,就赶紧跑去自学sql,学习sql server或是mysql数据库。要做半结构化、非结构化的数据又得去学习诸如mongo数据库的东西。 天天听对面的程序员小哥说我给你个打包个json吧,这个会用吗?阿,json是个啥?管不了这么多了,暗暗想,既然你能打个包,我就能把这包给拆了……不敢说,说出来就成了程序员鼓励师了,笑死对面的程序员欧巴了。言归正传。
1. 初识JSON
这是个json,存储的数据描述了一个人John Smith的一些个人信息,比如姓名,是否活着,年龄,地址以及电话号码等信息。其中,地址address和电话号码phoneNumbers呢,下面又包含了州、城市、街道,家庭电话、办公电话以及手机号码等信息。
如果之前只接触过存储在Excel或者sql server等结构化数据库中的结构化数据,那么第一次看到json格式的数据,一定觉得很新颖。先感性认识一下它,稍后来操作它。
这种数据组织方式,条理清晰,能更好的表示自然界中人或物等实体的属性关系。可以理解为一种树状结构,一棵有枝干,枝干上有叶子的树。
2. 操作JSON
打开Ipython,将以下代码敲进去,接下来的操作也是用此变量的值作为栗子。
你看了一眼,会说这我认识,不就是个字典吗?在Ipython中使用type()获得js变量的数据类型。
你说的没错儿,就是个dict类型。
2.1 写入json文件
2.2 读出json文件
读出的东西保存一下,看看是个什么数据类型。
可以看到我们写入json文件的是一个dict类型,读出后还是一个dict类型。这也就是json区别于csv文件的地方吧。csv文件呢,无论你写入的是什么类型的数据结构,读出的始终都是一串串字符。json文件呢,本质存储的也是字符串,区别于csv的是,通过json.load读出json,可以自动解析出数据的类型。
2.3 区分json.dump()与json.dumps()
json.dump()
使用时,需要指定需要写入的数据,以及一个写入流。如下代码实现的功能是把js的内容写入到桌面的一个test.json的文档中。执行代码后可以看到桌面上多了一个test.json文件。
json.dumps()
使用的方法比较简单,直接把需要写入的dict传递给这个函数。
3. 举一反三识别JSON
3.1 区分json与dict
会不会有时候突然犯迷糊,想json跟dict到底是什么关系,有什么区别呢?其实那是你不懂json和dict本身的概念。
json
本质是一种文件组织方式,比如你熟悉的txt, csv, doc,docx,xls,xlsx文件等等。
dict
是程序语言里定义的一种数据结构,比如列表list,比如集合set,比如字符串str,有比如数组array。
3.2 区分json与XML
XML和JSON都使用结构化方法来标记数据。
JSON 简单的语法格式和清晰的层次结构明显要比 XML 容易阅读,并且在数据交换方面,由于 JSON 所使用的字符要比 XML 少得多,可以大大得节约传输数据所占用得带宽
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/128257.html原文链接:https://javaforall.cn
边栏推荐
- How to clean up the lodash.memoize cache in the element-plus virtual table virtual-list component?
- Female service community product design
- 浏览器自带的拾色器
- 为什么毕业季不要表白?
- 力扣:738.单调递增的数字
- 网线RJ45接口针脚[通俗易懂]
- 如何进行需求分析评审
- Spark学习(2)-Spark环境搭建-Local
- The meaning of node_exporter performance monitoring information collection in Prometheus
- PDF 拆分/合并
猜你喜欢

模板与泛型编程值typelist实现

OpenShift 4 - Deploy Redis Cluster with Operator

Synchronized和volatile 面试简单汇总

NC | 斯坦福申小涛等开发数据可重复分析计算框架TidyMass

2021 OWASP TOP 10 漏洞指南

Public Key Retrieval is not allowed error solution when DBeaver connects to MySQL 8.x

OpenCV测量物体的尺寸技能 get~

Essential Learning for Getting Started with Unity Shader - Transparency Effect

【CUDA学习笔记】初识CUDA

TRACE32——C源码关联
随机推荐
WeChat chat record search in a red envelope
Spark学习(3)-Spark环境搭建-Standalone
TRACE32 - C source code association
模板与泛型编程值typelist实现
消息队列消息数据存储MySQL表设计
TCP详解
R语言ggplot2可视化:使用ggpubr包的ggboxplot函数可视化分组箱图、使用ggpar函数改变图形化参数(legend、修改可视化图像的图例在整图中的位置)
MySql总结
Destruction order of thread_local variables
Ubantu专题5:设置静态ip地址
OpenShift 4 - Deploy Redis Cluster with Operator
Word表格转到Excel中
OAuth2:搭建授权服务器
为什么毕业季不要表白?
R language ggplot2 visualization: use the ggmapplot function of the ggpubr package to visualize the MA plot (MA-plot), the font.legend parameter and the font.main parameter to set the title and legend
实现防抖与节流函数
Gorm—Go语言数据库框架
Small test knife: Go reflection helped me convert Excel to Struct
svn安装及使用(身体功能手册)
Public Key Retrieval is not allowed error solution when DBeaver connects to MySQL 8.x