当前位置:网站首页>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
边栏推荐
- Prometheus之node_exporter性能监控信息采集含义
- thread_local 变量的析构顺序
- Recommendation System - Recall Phase - 2013: DSSM (Twin Towers Model) [Embedding (Semantic Vector) Recall] [Microsoft]
- 【CUDA学习笔记】初识CUDA
- Excel快速对齐表格的中姓名(两个字姓名和三个字姓名对齐)
- NC | 斯坦福申小涛等开发数据可重复分析计算框架TidyMass
- 消息队列消息数据存储MySQL表设计
- 深入浅出边缘云 | 4. 生命周期管理
- Introductory UnityShader learning (2) - the rendering pipeline
- 自适应控制——仿真实验三 用超稳定性理论设计模型参考自适应系统
猜你喜欢

Sentinel服务熔断和降级

工程水文学复习资料

最小费用最大流问题详解

Female service community product design

Synchronized和volatile 面试简单汇总

AVH Deployment Practice (1) | Deploying the Flying Paddle Model on Arm Virtual Hardware

TRACE32——C源码关联

How useful is four-quadrant time management?

微信聊天记录中搜索红包

Ubantu project 4: xshell, XFTP connected the virtual machine and set xshell copy and paste the shortcut
随机推荐
网线RJ45接口针脚[通俗易懂]
TRACE32 - SNOOPer-based variable logging
PDF 拆分/合并
Description of Hikvision camera streaming RTSP address rules
「秋招系列」MySQL面试核心25问(附答案)
OpenCV测量物体的尺寸技能 get~
微服务架构选型
UnityShader入门学习(三)——Unity的Shader
SQL、HQL、JPQL 到底有什么区别
R语言向前或者向后移动时间序列数据(自定义滞后或者超前的期数):使用dplyr包中的lag函数将时间序列数据向前移动一天(设置参数n为正值)
为什么毕业季不要表白?
Nuget package and upload tutorial
R语言ggplot2可视化:使用ggpubr包的ggmaplot函数可视化MA图(MA-plot)、font.legend参数和font.main参数设置标题和图例字体加粗
公告
The R language ggstatsplot package ggbarstats function visualizes bar charts, and adds hypothesis test results (including sample number, statistics, effect size and its confidence interval, significan
Network cable RJ45 interface pins [easy to understand]
乡村基冲刺港交所:5个月期内亏2224万 SIG与红杉中国是股东
小试牛刀:Go 反射帮我把 Excel 转成 Struct
Female service community product design
易驱线主控芯片对比(电动三轮电机90O瓦世纪通达)