Python是怎样处理json模块的

首先,了解下什么是JSON?

JSON:JavaScript Object Notation 【JavaScript 对象表示法】

JSON 是一种轻量级的数据交换格式,完全独立于任何程序语言的文本格式。一般,后台应用程序将响应数据封装成JSON格式返回。

JSON的基本语法如下:JSON名称/值对。JSON 数据的书写格式是:名称/值对。名称/值对包括字段名称(在双引号中),然后着是一个冒号(:),最后是值。

JSON最常用的格式是对象的键值对:key只能是string, value可以是 object、array、string、number、true/false、null

{
"sites": [
{ "name":"360" , "url":"www.360.com" },
{ "name":"google" , "url":"www.google.com" },
{ "name":"baidu" , "url":"www.baidu.com" }
]
}
  • 键通过双引号包裹,后面跟冒号“:”,然后跟该键的值;
  • 值可以是字符串、数字、数组等数据类型;
  • 对象与对象之间用逗号隔开;
  • “{}”用来保存对象;
  • “[]”用来保存数组;

json跟python中的字典看起来很像,两者之间的区别?

1)json的key只能是字符串,dict的key可以是任何可hash的对象,例如:字符串、数字、元组等;

2)字典是一种数据结构,json是一种数据格式;字典有很多内置函数,有多种调用方法,而json是数据打包的一种格式,并不像字典具备操作性;

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

一般而言,我们会把json转化为python中的字典或者列表,再对其进行操作。

Python处理json的模块:json

Pythone3的标准库JSON模块,可以很方便的帮我们进行json数据的转换和处理,这里主要指序列化(json.dumps()、json.dump())和反序列化(json.loads()、json.load())。

序列化和反序列化:

将对象转换为可通过网络传输或可以存储到本地磁盘的数据格式(如:XML、JSON或特定格式的字节串)的过程称为序列化;反之,则称为反序列化。

常用的JSON模块方法:

  • json.dumps():将Python中的对象转换为JSON中的字符串对象
  • json.dump():将python对象转换成JSON字符串输出到fp流中。
  • json.loads():将JSON中的字符串对象转换为Python中的对象
  • json.load():读取包含json对象的文件。

带s的都是和字符串相关的,不带s的都是和文件相关的。

实例:

把字典转换成json串

import json
dic = {'name': 'xiaoming', 'age': 29}
json_str = json.dumps(dic)#返回json字符串
print(json_str)
print(type(json_str))
输出:
{"name": "xiaoming", "age": 29}
<class 'str'>

Python解码JSON对象

import json
json_str ='{"id":"09", "name": "Nitin", "department":"Finance"}'
# Convert string to Python dict
dict = json.loads(json_str)
print(dict)
#转换成字典来后,要访问其中的值,可以使用字典的key来访问
print(dict['id'])
输出:
{'id': '09', 'name': 'Nitin', 'department': 'Finance'}
09

读取json文件

import json
with open('test1.json') as f:
  a = json.load(f)
print(a)
print(type(a))
输出:
{'sites': [{'name': '360', 'url': 'www.360.com'}, {'name': 'google', 'url': 'www.google.com'}, {'name': 'baidu', 'url': 'www.baidu.com'}]}
<class 'dict'>

写入json文件

import json
  dic ={
    "name" : "xiaoming",
    "age" : 20,
    "phonenumber" : "15555555555"
  }

  with open("test2.json", "w") as outfile:
    json.dump(dic, outfile)

  文件test.json {"name": "xiaoming", "age": 20, "phonenumber": "15555555555"}

Python类型转换JSON类型的对应关系

json类型转换到Python的类型对照表

以上就是Python是怎样处理json模块的的详细内容,更多关于Python处理json模块的资料请关注我们其它相关文章!

(0)

相关推荐

  • 浅谈Python中的异常和JSON读写数据的实现

    异常可以防止出现一些不友好的信息返回给用户,有助于提升程序的可用性,在java中通过try ... catch ... finally来处理异常,在Python中通过try ... except ... else来处理异常 一.以ZeroDivisionError为例,处理分母为0的除法异常 def division(numerator,denominator): result=numerator/denominator return result ret1=division(1,5) prin

  • Python操作redis实例小结【String、Hash、List、Set等】

    本文实例总结了Python操作redis方法.分享给大家供大家参考,具体如下: 这里介绍详细使用 1.String 操作 redis中的String在在内存中按照一个name对应一个value来存储 set() #在Redis中设置值,默认不存在则创建,存在则修改 r.set('name', 'zhangsan') '''参数: set(name, value, ex=None, px=None, nx=False, xx=False) ex,过期时间(秒) px,过期时间(毫秒) nx,如果设

  • 深入理解python对json的操作总结

    Json简介:Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式.Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式.现在也常用于http请求中,所以对json的各种学习,是自然而然的事情.Python的官网网址:https://docs.python.org/2/library/json.html?highlight=json#module-json Json API 使用:python在版本2.6之前,是需要先下载包,安装后

  • 浅谈python处理json和redis hash的坑

    1.使用MySQLdb读取出来的数据是unicode字符串,如果要写入redis的hash中会变成 "{u'eth0_outFlow': 2.5, u'eth1_inFlow': 3.44}" 无法使用json.loads,需要提前将unicode转成str: str(eth0_outFlow) 2.单引号包围的key不是规范的json格式 "{'eth0_outFlow': 2.5, 'eth1_inFlow': 3.44}" 需要转成规范的格式才能使用json.

  • python字典和json.dumps()的遇到的坑分析

    最近项目中需要与管易云erp做对接,看了他的接口文档,php的示例代码,于是用python仿写. 其中传的参数data中前面几个json数据是固定的,最后需要加一个签名,该签名是对前面的json数据字符串化后,首尾拼接上screct字符串,再做md5处理(32位大写),再将该签名添加到之前的json中作为post参数传递过去. 问题就出在组装json字符串和签名中,因为python内置的字典是无序的,导致我组装好的json数据作为参数传递给自己编写的签名函数时,字典内部的顺序是变化的,所以签名前

  • Python使用内置json模块解析json格式数据的方法

    本文实例讲述了Python使用内置json模块解析json格式数据的方法.分享给大家供大家参考,具体如下: Python中解析json字符串非常简单,直接用内置的json模块就可以,不需要安装额外的模块. 一.json字符串转为python值 json字符串: 复制代码 代码如下: {"userAccount":"54321","date":"2016-12-06 10:26:17","ClickTime"

  • 详解python 3.6 安装json 模块(simplejson)

    JSON 相关概念: 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON,XML等.反序列化就是从存储区域(JSON,XML)读取反序列化对象的状态,重新创建该对象. JSON(Java Script Object Notation):一种轻量级数据交互格式,相对于XML而言更简单,也易于阅读和编写,机器也方便解析和生成,Json是JavaScript中的一个子集. python2.6版本开始加入了JSON模块,python的j

  • Python是怎样处理json模块的

    首先,了解下什么是JSON? JSON:JavaScript Object Notation [JavaScript 对象表示法] JSON 是一种轻量级的数据交换格式,完全独立于任何程序语言的文本格式.一般,后台应用程序将响应数据封装成JSON格式返回. JSON的基本语法如下:JSON名称/值对.JSON 数据的书写格式是:名称/值对.名称/值对包括字段名称(在双引号中),然后着是一个冒号(:),最后是值. JSON最常用的格式是对象的键值对:key只能是string, value可以是 o

  • Python Json模块中dumps、loads、dump、load函数介绍

    Json模块dumps.loads.dump.load函数介绍 1.json.dumps() json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数. import json name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'} jsObj = json.dumps(name_emb) print(name_emb) print(jsOb

  • 执行python脚本并传入json数据格式参数方式

    目录 执行python脚本并传入json数据格式参数 python解析JSON数据 json模块包含以下两个函数 执行python脚本并传入json数据格式参数 最近在写一个python的数据统计分析脚本,需要根据json的数据格式参数去进行业务逻辑处理,出了一些情况拿出来一起分享讨论.一下代码纯属示例. 脚本类容很简单,接收一下参数,并使用json包进行一个加载解析. 执行脚本,传入一个json对象数组: 脚本接受到的内容: json加载解析出错: 可以看到python脚本接收到参数的时候会将

  • 简单介绍Python中的JSON模块

    (一)什么是json: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集.JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等

  • 深入解析Python编程中JSON模块的使用

    JSON编码支持的基本数据类型为 None , bool , int , float 和 str , 以及包含这些类型数据的lists,tuples和dictionaries. 对于dictionaries,keys需要是字符串类型(字典中任何非字符串类型的key在编码时会先转换为字符串). 为了遵循JSON规范,你应该只编码Python的lists和dictionaries. 而且,在web应用程序中,顶层对象被编码为一个字典是一个标准做法. JSON编码的格式对于Python语法而已几乎是完

  • Python json模块dumps、loads操作示例

    本文实例讲述了Python json模块dumps.loads操作.分享给大家供大家参考,具体如下: python中json数据的使用. dumps和loads也是需要成对使用的,就像c++ new/delete malloc/free一样需要成对使用. 看着像json的字符串,也不一定是json字符串.哈哈. 具体看例子吧. # -*- coding:utf-8 -*- #! python2 import json data = {"name":"张三", &qu

  • 通过实例解析Python调用json模块

    这篇文章主要介绍了通过实例解析Python调用json模块,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 介绍 今天介绍一种数据格式,json.Json是JavaScript Object Notation的缩写,区别于txt.csv,json编码格式更加灵活,在工作也会经常遇到.在Python中要读写json是十分方便的,只需要调用json模块. 使用 直接导入模块 import json 两个读写数据的函数: json.dumps() 和

  • Python json模块与jsonpath模块区别详解

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成.适用于进行数据交互的场景,比如网站前台与后台之间的数据交互. JSON和XML相比较可谓不相上下. Python 3.X中自带了JSON模块,直接import json就可以使用了. 官方文档:http://docs.python.org/library/json.html Json在线解析网站:http://www.json.cn/ JS

随机推荐