json到底是什么(c# json)

>如果点进来的刚巧是个高手,那……你就当是过来做个鉴定的吧。很多从事数据分析工作的伙伴都是从“最简单”的神器—Excel开始入门的,对编程语言、计算机世界的很多工具都不甚了解。要做结构化的数据,就赶紧跑去自学sql,学习sqlserver或是mysql数据库。要做半结构化、非结构化的数据又得去学习诸如mongo数据库的东西。>天天听对面的程序员小哥说我给你个打包个j…

大家好,又见面了,我是你们的朋友全栈君。

如果点进来的刚巧是个高手,那……你就当是过来做个鉴定的吧。很多从事数据分析工作的伙伴都是从“最简单”的神器—Excel开始入门的,对编程语言、计算机世界的很多工具都不甚了解。要做结构化的数据,就赶紧跑去自学sql,学习sql server或是mysql数据库。要做半结构化、非结构化的数据又得去学习诸如mongo数据库的东西。

天天听对面的程序员小哥说我给你个打包个json吧,这个会用吗?阿,json是个啥?管不了这么多了,暗暗想,既然你能打个包,我就能把这包给拆了……不敢说,说出来就成了程序员鼓励师了,笑死对面的程序员欧巴了。言归正传。

 

1. 初识JSON


这是个json,存储的数据描述了一个人John Smith的一些个人信息,比如姓名,是否活着,年龄,地址以及电话号码等信息。其中,地址address和电话号码phoneNumbers呢,下面又包含了州、城市、街道,家庭电话、办公电话以及手机号码等信息。

如果之前只接触过存储在Excel或者sql server等结构化数据库中的结构化数据,那么第一次看到json格式的数据,一定觉得很新颖。先感性认识一下它,稍后来操作它。

这种数据组织方式,条理清晰,能更好的表示自然界中人或物等实体的属性关系。可以理解为一种树状结构,一棵有枝干,枝干上有叶子的树。

 

json到底是什么(c# json)

 

2. 操作JSON


打开Ipython,将以下代码敲进去,接下来的操作也是用此变量的值作为栗子。

json到底是什么(c# json)

 

你看了一眼,会说这我认识,不就是个字典吗?在Ipython中使用type()获得js变量的数据类型。

json到底是什么(c# json)

你说的没错儿,就是个dict类型。

 

2.1 写入json文件

json到底是什么(c# json)

 

2.2 读出json文件

 

json到底是什么(c# json)

 

读出的东西保存一下,看看是个什么数据类型。

json到底是什么(c# json)

可以看到我们写入json文件的是一个dict类型,读出后还是一个dict类型。这也就是json区别于csv文件的地方吧。csv文件呢,无论你写入的是什么类型的数据结构,读出的始终都是一串串字符。json文件呢,本质存储的也是字符串,区别于csv的是,通过json.load读出json,可以自动解析出数据的类型。

 

2.3 区分json.dump()与json.dumps()

json.dump()

json到底是什么(c# json)

使用时,需要指定需要写入的数据,以及一个写入流。如下代码实现的功能是把js的内容写入到桌面的一个test.json的文档中。执行代码后可以看到桌面上多了一个test.json文件。

json.dumps()

json到底是什么(c# json)

使用的方法比较简单,直接把需要写入的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到底是什么(c# json)

 

JSON 简单的语法格式和清晰的层次结构明显要比 XML 容易阅读,并且在数据交换方面,由于 JSON 所使用的字符要比 XML 少得多,可以大大得节约传输数据所占用得带宽

json到底是什么(c# json)

 

记得点击下方图片,识别二维码,关注“数据分析师之家”哦~

json到底是什么(c# json)

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128257.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月16日 上午8:40
下一篇 2022年4月16日 上午8:40


相关推荐

  • SQL Server 2016 列存储索引功能增强「建议收藏」

    SQL Server 2016 列存储索引功能增强「建议收藏」列存储索引(columnstoreindex)在SQLServer2012中已经引入,其带来性能提升的同时也有很多限制,比如对带有列存储索引的表进行INSERT,UPDATE和DELETE时,会遇到如下错误提示:由于这种限制,索引列存储索引并不太适合在OLTP中应用。不过,SQLServer2016对列存储索引做了很多改进,其中我觉得最大的变化是可更新的

    2022年7月14日
    18
  • 正交投影矩阵举例_正交投影矩阵的性质

    正交投影矩阵举例_正交投影矩阵的性质来自:https://blog.csdn.net/tengweitw/article/details/41174555二维投影上图表示的是,向量b在向量a上的投影。显然有例如以下表达式:当中,P为投影矩阵,由P的表达式能够看出,它具有例如以下性质:三维投影    三维投影,就是将一个向量投影到一个平面上。同上面一样,如果是将b向量投影到平面上的p向量,则有表达式:…

    2026年4月15日
    4
  • 通俗讲解 同步、异步、阻塞、非阻塞 编程

    通俗讲解 同步、异步、阻塞、非阻塞 编程#真正意义上的异步IO是说内核直接将数据拷贝至用户态的内存单元,再通知程序直接去读取数据。#select/poll/epoll都是同步IO的多路复用模式1.同步和异步#同步和异步关注的是消息通信机制#所谓同步,就是在发出一个*调用*时,没得到结果之前,该*调用*就不返回。但是一旦调用返回就得到返回值了,*调用者*主动等待这个*调用*的结果#所谓异步,就是在发出一个*调用*时,这个*调用*就直接返回了,不管返回有没有结果。当一个异步过程调用发出后,*被调用者*.

    2022年6月1日
    38
  • 对于java二维数组初始化的理解[通俗易懂]

    对于java二维数组初始化的理解[通俗易懂]1.初始化:在定义变量之后,系统为变量分配的空间内存储的值是不确定的,所以要对这个空间进行初始化以确保程序的安全性和确定性2.给二维数组元素赋值:b[0]={1,2,3}//Arrayconstantscanonlybeusedininitializers数组常量只能被用于初始化,初始化动作在编译时完成。b[0]=newint[]{1,2}//赋值newin…

    2022年5月25日
    37
  • 带着问题看源码1-NodeRed如何提供Web服务的

    带着问题看源码1-NodeRed如何提供Web服务的NodeRed 结构 NodeRed 既包含后端也包含前端 后端基于 Node js 同时包含 Express 框架 Express 是一个保持最小规模的灵活的 Node jsWeb 应用程序开发框架 为 Web 和移动应用程序提供一组强大的功能 NodeRed 中的 Express 工作流 配置 init theme base themeVariabl primaryColor FFFFFF sequenceDiag

    2026年3月17日
    2
  • WinHex如何将RAW格式的磁盘变成NTFS,raw格式 磁盘

    WinHex如何将RAW格式的磁盘变成NTFS,raw格式 磁盘

    2026年3月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号