PYTHON3处理JSON的函数

在python3中import json模块,然后使用dir(json)可以看到json模块提供的函数,下面选几个常用的json处理函数看看用法:

>>> import json
>>> dir(json)
['JSONDecodeError', 'JSONDecoder', 'JSONEncoder', '__all__',
 '__author__', '__builtins__', '__cached__', '__doc__', '__file__',
 '__loader__', '__name__', '__package__', '__path__', '__spec__',
'__version__', '_default_decoder', '_default_encoder', 'decoder',
 'dump', 'dumps', 'encoder', 'load', 'loads', 'scanner']

json.dumps

先定义一个列表,然后转换看看输出结果:

import json
 
data = [{"a":"aaa","b":"bbb","c":[1,2,3,(4,5,6)]},33,'tantengvip',True]
data2 = json.dumps(data)
 
print(data2)
输出结果:

[{“c”: [1, 2, 3, [4, 5, 6]], “a”: “aaa”, “b”: “bbb”}, 33, “tantengvip”, true]

其实python的列表数据结构跟json数据结果很类似,转换之后大体不变,只是True变成了true,元祖类型的(4,5,6)变成了[4,5,6].

JSON PYTHON
object dict
array list
string unicode
number (int) int, long
number (real) float
true True
false False
null None

该表展现了python和json类型的转换区别。

json.dump

这个方法用的相对较少,假如直接dump(json_data)会报错,如下:

data = [{"a":"aaa","b":"bbb","c":[1,2,3,(4,5,6)]},33,'tantengvip',True]
data2 = json.dump(data)
 
#TypeError: dump() missing 1 required positional argument: 'fp'
报错:TypeError: dump() missing 1 required positional argument: ‘fp’

json.dump和json.dumps很不同,json.dump主要用来json文件读写,和json.load函数配合使用。json.dump(x,f),x是对象,f是一个文件对象,这个方法可以将json字符串写入到文本文件中。

import json
 
data = [{"a":"aaa","b":"bbb","c":[1,2,3,(4,5,6)]},33,'tantengvip',True]
data2 = json.dumps(data)
 
print(data2)
 
f = open('./tt.txt','a')
json.dump(data2,f)

这样就生成了一个tt.txt文件,保存了json格式的数据。dumps还提供pritty print,格式化的输出。

json.load加载json格式文件

 

f = open('./tt.txt','r')
hehe = json.load(f)

print(hehe)
这样就从txt文件中读取了json数据。

json.lodas函数

那么json.loads函数跟json.load有何区别?跟dumps和dump一样,带s是操作文件的。

hehe2 = json.loads('["aaa",{"name":"pony"}]')
print(hehe2)

loads可以直接传json格式数据作为参数。

看一个读取天气的例子

import os, io, sys, re, time, base64, json
import webbrowser, urllib.request
def main():
    "main function"
    url = "http://m.weather.com.cn/data/101010100.html"
    stdout=urllib.request.urlopen(url)
    weatherInfo= stdout.read().decode('utf-8')
    #print(weatherInfo)
    jsonData = json.loads(weatherInfo)

    #输出JSON数据
    szCity = jsonData["weatherinfo"]["city"]
    print("城市: ", szCity)
    szTemp = jsonData["weatherinfo"]["temp1"]
    print("温度: ", szTemp)
    szWeather1 = jsonData["weatherinfo"]["weather1"]
    print("天气情况: ",szWeather1)
    szCityid = jsonData["weatherinfo"]["cityid"]
    print("城市编码: ",szCityid)
   
if __name__ == '__main__':
    main()

时间: 2024-09-19 09:19:18

PYTHON3处理JSON的函数的相关文章

Python3.2中Print函数用法实例详解

  本文实例讲述了Python3.2中Print函数用法.分享给大家供大家参考.具体分析如下: 1. 输出字符串 ? 1 2 3 >>> strHello = 'Hello World' >>> print (strHello) Hello World 2. 格式化输出整数 支持参数格式化,与C语言的printf类似 ? 1 2 3 >>> strHello = "the length of (%s) is %d" %('Hello

打印json对象的内容及JSON.stringify函数应用_json

在调试的时候,经常需要知道json对象的内容,通过JSON.stringify函数,可以转换json对象为字符串. 复制代码 代码如下: $(document).ready(function() { $.ajax({ type: "post", dataType: "json", url: '/centermanage/modules/admin/index.php?task=getequipmentinfo', data: "&id="

jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题_jquery

JSON 对象是在 ECMAScript 第 5 版中实现的,此版于 2009 年 12 月发布:IE6 IE7 与 IE8(Q) (IE8(Q) 相当于 IE 5.5) 发布时间比较早,没有在其 Javascript 引擎中实现该对象. 好在我们可以使用 json2.js 作为兼容. 地址:https://github.com/douglascrockford/JSON-js 这个JS中的函数将JSON对象转换成JSON字符串,解决 IE6.7.8不能使用 JSON.stringify 函数的

php返回json数据函数实例_php技巧

本文实例讲述了php返回json数据函数的用法,分享给大家供大家参考.具体方法如下: json_encode()函数用法: echo json_encode(array('a'=>'bbbb','c'=>'ddddd'); 这样就会生成一个标准的json格式的数据 <?php //需要执行的SQL语句 //单条 $sql="select id,name from tbl_user where id=1"; //多条数据 //$sql="select id,n

浅谈JSON.stringify 函数与toJosn函数和Json.parse函数

原文:浅谈JSON.stringify 函数与toJosn函数和Json.parse函数 JSON.stringify 函数 (JavaScript)   语法:JSON.stringify(value [, replacer] [, space]) 将 JavaScript 值转换为 JavaScript 对象表示法 (Json) 字符串. value 必需. 要转换的 JavaScript 值(通常为对象或数组). replacer 可选. 用于转换结果的函数或数组. 如果 replacer

使用JSON作为函数的参数的优缺点_json

一直对json不太懂,最近看了一些介绍才发现,原来这个东西这么好用,下面就为大家介绍一下 1.我们可以随时为一个函数添加/删除参数或在任意参数位置添加新参数,而不会像传统参数一样必须按照规定的顺序书写,而且每次添加或删除函数某个参数都要函数内容进行修改.而使用JSON作为参数可以不用考虑参数顺序. 看下面代码演示: <script type="text/javascript"> <!-- //普通方法 function commonArg(name,age,desc)

PHP XML数据解析代码[json,parser函数]

 代码如下 复制代码 //xml string $xml_string="<?xml version='1.0'?> <users> <user id='398'> <name>Foo</name> <email>foo@bar.com</name> </user> <user id='867'> <name>Foobar</name> <email>f

JSON.parse 函数 (JavaScript)

将 JavaScript 对象表示法 (JSON) 字符串转换为对象. 语法 参数 返回值 异常 以下示例使用 JSON.parse 将 JSON 字符串转换成对象. var jsontext = '{"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]}'; var conta

php返回json数据函数例子

json_encode()函数用法. echo json_encode(array('a'=>'bbbb','c'=>'ddddd'); 这样就会生成一个标准的json格式的数据  代码如下 复制代码 <?php //需要执行的SQL语句 //单条 $sql="select id,name from tbl_user where id=1"; //多条数据 //$sql="select id,name from tbl_user"; //调用con