Python 中json与字典的关系

Python开发中字典和 json的概念区别:

  一、字典

  字典是一种数据结构,而json是一种数据格式,格式就会有一些形式上的限制,比如json的格式要求必须且只能使用双引号作为key或者值的边界符号(值如果是数字可以不用加双引号),不能使用单引号,用单引号或者不用引号会导致读取数据错误,而且“key”必须使用边界符(双引号),但字典就无所谓了,可以使用单引号,也可以使用双引号。

  dict是一个完整的数据结构,是对Hash Table这一数据结构的一种实现,是一套从存储到提取都封装好了的方案。它使用内置的哈希函数来规划key对应value的存储位置,从而获得O(1)的数据读取速度。

  二、json

  json是JavaScript Object Notation的首字母缩写,字面的意思是javascript对象表示法,这里说的json指的是类似于javascript对象的一种数据格式对象,目前这种数据格式比较流行,逐渐替换掉了传统的xml数据格式, 前端使用ajax的时候后台返回该前端的数据格式就是json格式的。

  json是一种数据格式,是纯字符串。可以被解析成Python的dict或者其他形式。

  三、json和dict区别对比

  json的key只能是字符串,python的dict可以是任何可hash对象(hashtable type);

  json的key可以是有序、重复的;dict的key不可以重复。

  json的value只能是字符串、浮点数、布尔值或者null,或者它们构成的数组或者对象。

  json任意key存在默认值undefined,dict默认没有默认值;

  json访问方式可以是[],也可以是.,遍历方式分in、of;dict的value仅可以下标访问。

  json的字符串强制双引号,dict字符串可以单引号、双引号;

  dict可以嵌套tuple,json里只有数组。

  json:true、false、null

  python:True、False、None

  json中文必须是unicode编码,如"\u6211".

  json的类型是字符串,字典的类型是字典。

  四、hashtable

  一个对象当其声明周期内的hash值不发生改变,而且可以跟其他对象进行比较时,这个对象就是hashtable的。

  1、python中的基本类型都是Hashtable,如str、bytes、数字类型、tuple等;

  2、用户自定义的类型默认都是hashtable,因为它们的hash值就是id()值;

  3、frozenset始终都是hashtable的,因为它们所有的项目都是被定义成hashtable的;

  4、只有当tuple内的所有项都是hashtable的时候,tuple才是hashtable;

原文地址:https://www.cnblogs.com/zsjlovewm/p/12268847.html

时间: 2024-10-09 02:46:10

Python 中json与字典的关系的相关文章

python中常用的字典内建函数

1.len(mapping)        返回映射的长度(键-值对的个数) 2.hash(obj)              返回obj的哈希值 >>> myDict = {'name':'earth', 'port':'80'} >>> len(myDict) 2 >>> hash('name') 15034981 3.dict.copy()            返回字典(浅复制)的一个副本 >>> myDict = {'nam

python中json.dumps使用的坑以及字符编码

我们知道,python中的字符串分普通字符串和unicode字符串,一般从数据库中读取的字符串会自动被转换为unicode字符串 下面回到重点,使用json.dumps时,一般的用法为: >>> obj={"name":"测试"} >>> json.dumps(obj)'{"name": "\\u6d4b\\u8bd5"}' >>> print json.dumps(obj

python 中json has no attribute 'loads'

在python爬虫时出现了json has no attribute 'loads'问题. 1 可能是没有安装json包,cmd-pip install json, 显示已安装. 2 当前盘中存在json.py文件,导致错误. 因为我的python文件是保存在F盘中的,而F盘中有名为json.py的文件,所以运行程序时首先在F盘中寻找json文件,名称有json的被认为json包,而其中没有loads模块. 3 解决办法:把F盘中的json.py改名为json1.py重新运行程序,问题解决. p

python中json模块dumps和loads的区分

b=urllib2.urlopen("http://www.baidu.com")a=b.read()#这里读取的是html中的json格式的内容a1=json.loads(a)#把读取到的内容从json转换成Python中的字典格式print a1['消息状态']#用Python中的字典取值方法 a2=json.dumps(a1)#此时a1已经相当于Python中的字典了,不能称之为json了,此法可以把Python中的字典再次转成json

python的JSON与字典区别

在python中,字典的输出内容跟json格式内容一样,但是字典的格式是字典,json的格式是字符串,所以在传输的时候(特别是网页)要转换使用. 重要函数 编码:把一个Python对象编码转换成Json字符串   json.dumps() 解码:把Json格式字符串解码转换成Python对象   json.loads() In [1]: import json In [2]: dic = { 'str': 'this is a string', 'list': [1, 2, 'a', 'b'],

python中json与dict之间转换

Python之dict(或对象)与json之间的互相转化 在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操作. 在Python中自带json库.通过import json导入. 在json模块有2个方法, loads():将json数据转化成dict数据 dumps():将dict数据转化成json数据 load():读取json文件数据,转成dict数据 dump():将dict数据转化成json数据后写入json文件 下面是具体的示例: dict字典转jso

python中json.load()、json.loads()、json.dump()、json.dumps()的区别

json.load()从文件中读取json字符串 json.loads()将json字符串转换为字典类型 json.dumps()将python中的字典类型转换为字符串类型 json.dump()将json格式字符串写到文件中 1.json.load() with open('text.json','r',encoding='utf-8') as f : print(json.load(f)) { "name": "anthony", "sex"

[ Python入门教程 ] Python中JSON模块基本使用方法

JSON (JavaScript Object Notation)是一种使用广泛的轻量数据格式,Python标准库中的json模块提供了一种简单的方法来编码和解码JSON格式的数据.用于完成字符串和python数据类型间进行转换. json模块基本函数   json.dumps():把Python数据类型转换成JSON字符串   json.loads():把JSON字符串转换成Python数据类型   json.dump():把Python数据类型转换成JSON字符串并存储在文件中   json

Python中json的应用(转)

python中的 json 模块使用 注:测试环境 OS:Ubuntu 16.04 LTS Python:Python 2.7.11+ (1)python 中生成 json 字符串: import json data = dict(ret=0, msg="Welcome, Login success!") json_str = json.dumps(data, sort_keys=True) print json_str (2)python 中解析 json字符串: import js