专栏首页公众号:googpyJSON——轻量级数据格式

JSON——轻量级数据格式

said:

stormwen

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

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

例1:JSON语法规则

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的数据结构,如下:

# json          python
# object        dict
# array         list
# string        str
# number        int
# number        float
# true          True
# false         False
# null          None

例2:序列化

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中,又没有这个说法。

本文分享自微信公众号 - googpy(googpy),作者:stormwen

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 自学Python6个月后,我发现学Python必看这三本书,让你少走一半弯路!

    我是在半年前接触到Python的,我之前没有一点编程基础,但在我自学的这半年里,我发现自己越来越喜欢他,迄今为止,Python都非常友好并且易于学习!

    stormwen
  • 最容易上手的爬虫项目

    开始之前我们需要确定一个爬取的目标,从博客园上选一个博主的首页进入。在这个例子里面我们要写一个爬虫将博主的文章列表拉出来,保存在一个JSON的文件里面。

    stormwen
  • 正则表达式(二)

    「?」表示匹配?前面的字符0次或1次,这里需要注意的是,在代码中打印r2结果出现了2个Python,这是由于?具有去重的功能。

    stormwen
  • 在PHP语言中使用JSON

    我写过一篇《数据类型和JSON格式》,探讨它的设计思想。今天,我想总结一下PHP语言对它的支持,这是开发互联网应用程序(特别是编写API)必须了解的知识。

    ruanyf
  • 你所不知道的php json编码解码

    json解析在php,或者说在任何编程语言中都非常常见。但是,你是否知道,json解析在php中是以扩展形式存在。

    写PHP的老王
  • PHP JSON使用实例

    由于json只接受utf-8编码的字符,所以json_encode()的参数必须是utf-8编码,否则会得到空字符或者null。当中文使用GB2312编码,或者...

    明哥的运维笔记
  • Go语言中自动选择json解析库

    golang官方为我们提供了标准的json解析库–encoding/json,大部分情况下,使用它已经够用了。不过这个解析包有个很大的问题–性能。它不够快,如果...

    飞雪无情
  • geotrellis使用(十九)spray-json框架介绍

    Geotrellis系列文章链接地址http://www.cnblogs.com/shoufengwei/p/5619419.html 目录 前言 spr...

    魏守峰
  • jQuery格式化显示json数据

    在gitlab上面,有一个jQuery JSONView插件,地址为:https://github.com/yesmeck/jquery-jsonview

    用户2398817
  • python中的json模块

    JSON(JavaScriptObjectNotation)格式最初是为JavaScript开发的,但随后成了一种常见文件格式,被包括python在内的众多语言...

    于小勇

扫码关注云+社区

领取腾讯云代金券