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‘], ‘sub_dic‘: { ‘sub_str‘: ‘this is sub str‘, ‘sub_list‘: [1, 2, 3] }, ‘end‘: ‘end‘ }

In [3]: type(dic)
Out[3]: dict

In [5]: json_obj=json.dump(dic)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-5-1959d613a6c1> in <module>()
----> 1 json_obj=json.dump(dic)

TypeError: dump() takes at least 2 arguments (1 given)

In [6]: json_obj=json.dumps(dic)

In [8]: type(json_obj)
Out[8]: str

In [9]: print json_obj
{"sub_dic": {"sub_str": "this is sub str", "sub_list": [1, 2, 3]}, "end": "end", "list": [1, 2, "a", "b"], "str": "this is a string"}

In [10]: dic1=json.loads(json_obj)

In [11]: type(dic1)
Out[11]: dict

In [12]: print dic1
{u‘end‘: u‘end‘, u‘list‘: [1, 2, u‘a‘, u‘b‘], u‘sub_dic‘: {u‘sub_str‘: u‘this is sub str‘, u‘sub_list‘: [1, 2, 3]}, u‘str‘: u‘this is a string‘}

In [13]: print dic
{‘sub_dic‘: {‘sub_str‘: ‘this is sub str‘, ‘sub_list‘: [1, 2, 3]}, ‘end‘: ‘end‘, ‘list‘: [1, 2, ‘a‘, ‘b‘], ‘str‘: ‘this is a string‘}

参考:https://docs.python.org/dev/library/json.html

时间: 2024-10-10 22:21:22

python的JSON与字典区别的相关文章

Python 中json与字典的关系

Python开发中字典和 json的概念区别: 一.字典 字典是一种数据结构,而json是一种数据格式,格式就会有一些形式上的限制,比如json的格式要求必须且只能使用双引号作为key或者值的边界符号(值如果是数字可以不用加双引号),不能使用单引号,用单引号或者不用引号会导致读取数据错误,而且“key”必须使用边界符(双引号),但字典就无所谓了,可以使用单引号,也可以使用双引号. dict是一个完整的数据结构,是对Hash Table这一数据结构的一种实现,是一套从存储到提取都封装好了的方案.它

【python】json中字典key不可为数值型

遇到了一个很诡异的错误.写一个字典,存入json文件.之后读出判断是否存在key.结果惊奇的发现,同一个key居然存在两次. 原因:json会将数值key转换为unicode 结论:使用json时字典key不可为数值! 复现问题: >>> a = {} >>> a[1] = 1 >>> b = json.dumps(a) >>> c = json.loads(b) >>> a {1: 1} >>>

python:用json把字典序列化到文件中

#写程序最好是dump一次和load一次,可以存好几个文件 import json info={'name':'Tom', 'age':'12', 'job':'work',} f=open('file1.txt','w') f.write(json.dumps(info)) f.close() 把字典存入文件中 info={'name':'Tom', 'age':'12', 'job':'work',} f=open('test.txt','w') f.write(str(info)) f.c

python json模块 字典 输出中文

json.dumps({'text':"中文"},ensure_ascii=False,indent=2) python json模块 字典得到字符串,输出中文

Python序列化模块pickle和json使用和区别

这是用于序列化的两个模块: ? json: 用于字符串和python数据类型间进行转换 ? pickle: 用于python特有的类型和python的数据类型间进行转换 Json模块提供了四个功能:dumps.dump.loads.load pickle模块提供了四个功能:dumps.dump.loads.load 那pickle和json有什么区别呢? json是可以在不同语言之间交换数据的,而pickle只在python之间使用. json只能序列化最基本的数据类型,而pickle可以序列化

Python处理json和dict

json与dict的区别 Python 的dict是一种数据结构,json 是一种数据传输格式.json 就是一个根据某种约定格式编写的纯字符串,不具备任何数据结构的特征.而 python 的dict的字符串表现形式的规则看上去和 json 类似,但是dict本身是一个完整的数据结构,实现了一切自身该有的算法. Python的dict的key可以是任意可hash对象,json只能是字符串.形式上有些相像,但json是纯文本的,无法直接操作. json的格式要求必须且只能使用双引号作为key或者值

Python 基础 - Json文件读写

JSON介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C.C++.Java.JavaScript.Perl.Python等).这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). 在python中,JSON 由列表和字典组成. 序列化的两个模块中,json模块是用于

python对json的相关操作以及json模块的简要分析

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成. JSON有两种结构: 第一种就是"名称/值"对的集合.在python中相当于字典类型,在其他语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array). 第二种就是值的有序列表

Python下Json和Msgpack序列化比较

Python下Json和Msgpack序列化比较  最近用Python时,遇到了序列化对象的问题,传统的json和新型序列化工具包msgpack都有涉及,于是做一个简单的总结: 通俗的讲:序列化:将对象信息转化为可以存储或传输的形式:反序列化:把这个存储的内容还原成对象. json就不用多做解释了,是一种轻量级的数据交换格式,广泛应用于web开发中.当然也是将对象序列化成符合json规范的格式.网上有一堆堆资料. 官网:http://www.json.org msgpack就有意思了,先看下官方