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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • windows 激活状况 命令查询

    windows 激活状况 命令查询slmgr-ipkKey安装产品密钥slmgr-upk卸载密钥slmgr-ato激活密钥sLUI4显示电话激活选项msinfo32查看电脑组件系统详细信息slmgr-skms激活服务器以下又是产品win8版本激活的显示状态:slmgr.vbs-dlv显示:最为详尽的激活信息,包括:激活ID、安装ID、激活截止日期slmgr.vbs-dli显示:…

    2022年5月11日
    48
  • 软件测试总结——常见的面试问题(一)

    软件测试总结——常见的面试问题(一)1.软件测试级别?单元测试:单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。Findyou又称为模块测试,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。(测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试)集成测试:(集成测试也称联合测试、组装测试,将程序模块采用适当的集成策略组装起…

    2022年5月29日
    27
  • pycharm中tensorflow代码不能自动补全或import红线问题解决

    pycharm中tensorflow代码不能自动补全或import红线问题解决正确安装并配置好pycharm+tensorflow环境之后,可能在pycharm中导入tensorflow会有以下问题:1."importtensorflowastf"会有红线提示找不到tensorflow,但是运行的话可以正常运行2.tensorflow相关的代码不能自动补全,Ctrl+B(查看函数定义快捷键)也定位不到函数定义出现这样的问题可能是因为在pycharm中配置的…

    2022年8月29日
    1
  • url传递参数_url encode

    url传递参数_url encodeWerkzeug之URL路由原文链接http://werkzeug.pocoo.org/docs/0.12/routing/当需要组合控制器和视图函数时,我们需要一个调度器来实现。一个简单的实现方式是采用正则表达式匹测试路由信息,调用回调函数并返回结果。Werkzeug提供了一个类似Route[1]的强大功能.下文提到的所有对象都是从werkzeug.routing导入而不是

    2022年10月6日
    0
  • Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in

    Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in

    2021年9月6日
    203
  • 如何安装HAXM,如何解决HAXM installation failed问题

    如何安装HAXM,如何解决HAXM installation failed问题如何安装HAXM,如何解决HAXMinstallationfailed问题在安卓开发的过程中,大家都会需要用到安卓虚拟设备,在AndroidStudio中运行虚拟设备要求安装Intel硬件加速器(HAXM),虽然说是推荐使用但实际上不安装就无法运行虚拟设备。按照AndroidStudio提示的步骤安装HAXM,大多数人都会遇到HAXMinstallationfailed.ToinstallHAXMfollowtheinstructionsfoundat:https://so

    2022年6月28日
    24

发表回复

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

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