前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JSON——轻量级数据格式

JSON——轻量级数据格式

作者头像
stormwen
发布2019-08-05 10:35:43
5490
发布2019-08-05 10:35:43
举报
文章被收录于专栏:公众号:googpy公众号:googpy

said:

stormwen

很多公司的加班是今天做昨天的事情,或者今天做今天还没完成的事情,反正加班是因为做不完事情,而我理解的加班应该是今天要把明天的事情做完,这个月把下个月的事情做完,这才是加班的意义,从而能够永远赶在竞争对手前面。

JSON的全称:JavaScript Object Notation,是JavaScript的对象标记,本质是一种轻量级的数据交换格式。从概念可以知道,JSON是一种数据格式,字符串是它的表现形式。

例1:JSON语法规则

代码语言:javascript
复制
import json

json_str = '[{"name":"qiyue", "age":18,"flag":false},{"name":"shigandang", "age":18,"flag":false}]'

student = json.loads(json_str)   #将json字符串转换成Python数据结构

print(type(student))
print(student)       #打印的值是单引号,由Python字典决定,与json无关

这段代码就是JSON的基本语法形式,可以看到它有以下几个特点:

  • 数据为键/值对;
  • 数据由逗号分隔;
  • 大括号保存对象;
  • 方括号保存数组。

可以看到,要将json字符串转换成Python的数据结构,首先需要引入json模块,然后再利用json.loads()方法。

最后需要知道反序列化,从字符串到语言下面的某一种数据结构。比如上面代码,从json的数组变成Python的list。

总结一下json的字符串格式反序列化后,对应Python的数据结构,如下:

代码语言:javascript
复制
# json          python
# object        dict
# array         list
# string        str
# number        int
# number        float
# true          True
# false         False
# null          None

例2:序列化

代码语言:javascript
复制
import json
student = [
           {"name":"qiyue", "age":18,"flag":False},
           {"name":"shigandang", "age":18,}
           ]

json_str = json.dumps(student)       #序列化的方法
print(type(json_str))
print(json_str)

例1中介绍了反序列化,那么序列化就是序列化的逆过程,即Python数据类型转化为json字符串。

总结

(1)很多人容易把JSON和JavaScript混淆,因为JSON和JavaScrip的数据类型非常相似。但其实两者是有区别的,JavaScript一种标准的实现方案之一(ECMASCRIPT),所以我们可以把JSON也理解为实现ECMASCRIPT的一种版本,所以JSON并不是JavaScript的附属品,从某种意义上JSON是和JavaScript并行的。

JSON在外部前后端分离起到重要作用,前端语言有很多种,但主流的是JavaScript,而JSON被用于JavaScript的交互中,所以很多人会混淆两者。

(2)JSON对象,它确实存在,但它定义却很片面。如果放在JavaScript里,它是成立的,但放在Python中,又没有这个说法。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 googpy 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档