当前位置:网站首页>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
边栏推荐
- 架构实战营模块8消息队列表结构设计
- TRACE32——常用操作
- How to grab configuration information for DELL SC compellent storage system
- Architecture actual combat battalion module 8 message queue table structure design
- OpenShift 4 - Deploy Redis Cluster with Operator
- Nuget package and upload tutorial
- 华医网冲刺港股:5个月亏2976万 红杉与姚文彬是股东
- R language ggplot2 visualization: use the ggboxplot function of the ggpubr package to visualize the grouped box plot, use the ggpar function to change the graphical parameters (caption, add, modify th
- Introduction to BigDecimal, common methods
- TCP详解
猜你喜欢
NC | 中国农大草业学院杨高文组揭示发现多因子干扰会降低土壤微生物多样性的积极效应...
思路迪医药冲刺港股:5个月亏2.9亿 泰格医药与先声药业是股东
Ubantu project 4: xshell, XFTP connected the virtual machine and set xshell copy and paste the shortcut
最小费用最大流问题详解
STM32(十)------- SPI通信
模板与泛型编程值typelist实现
NC | 斯坦福申小涛等开发数据可重复分析计算框架TidyMass
TRACE32——基于SNOOPer的变量记录
架构实战营模块8消息队列表结构设计
UnityShader入门学习(二)——渲染流水线
随机推荐
435. 无重叠区间
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
安装Xshell并使用其进行Ymodem协议的串口传输
NPM淘宝镜像(最新版本)于2021-11-21 16:53:52发布新版本npm镜像[通俗易懂]
OAuth2:搭建授权服务器
thread_local 变量的析构顺序
力扣:738.单调递增的数字
Efficient use of RecyclerView Section 1
格林美瑞交所IPO:募资3.8亿美元 更多中国企业将赴欧洲上市
Small test knife: Go reflection helped me convert Excel to Struct
使用 Chainlink Keepers 实现智能合约函数的自动化执行
TRACE32 - C source code association
leetcode303场周赛复盘
四象限时间管理有多好用?
QGIS 加载WMS数据,重新投影
R语言的画图代码及差异性分析[通俗易懂]
力扣:56. 合并区间
工程力学复习资料
为什么毕业季不要表白?
Prometheus之node_exporter性能监控信息采集含义