问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python3.0怎么用json从文件解析

发布网友 发布时间:2022-04-19 15:06

我来回答

5个回答

懂视网 时间:2022-04-06 07:40

【相关学习推荐:python视频】

JSON介绍

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

JSON的两种结构

  1. “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。

  2. 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

JSON在Python中的使用

在Python中操作JSON时需要引入json标准库。

import json

类型转换

Python类型转JSON:

json.dump()

#1.Python的dict类型转JSON
person_dict = {‘name’: ‘pig’, ‘age’: 18, ‘sex’: ‘man’, ‘hometown’: ‘江西抚州’}

indent参数为缩进空格数

person_dict_json = json.dumps(person_dict, indent=4)print(person_dict_json, ‘ ’)

2.Python的列表类型转JSON

person_list = [‘pig’, 18, ‘man’, ‘江西抚州’]person_list_json = json.dumps(person_list)print(person_list_json, ‘ ’)

3、Python的对象类型转JSON

person_obj = Person(‘pig’, 18, ‘man’, ‘江西抚州’)

中间的匿名函数是获得对象所有属性的字典形式

person_obj_json = json.dumps(person_obj, default=lambda obj: obj.dict, indent=4)print(person_obj_json, ‘ ’)

JSON转Python类型:

json.loads()

4、JSON转Python的dict类型

person_json = ‘{ “name”: “pig”,”age”: 18, “sex”: “man”, “hometown”: “江西抚州”}’
person_json_dict = json.loads(person_json)print(type(person_json_dict), ‘ ’)

5、JSON转Python的列表类型

person_json2 = ‘[“pig”, 18, “man”, “江西抚州”]’
person_json_list = json.loads(person_json2)print(type(person_json_list), ‘ ’)

6、JSON转Python的自定义对象类型

person_json = ‘{ “name”: “pig”,”age”: 18, “sex”: “man”, “hometown”: “江西抚州”}’

object_hook参数是将dict对象转成自定义对象

person_json_obj = json.loads(person_json, object_hook=lambda d: Person(d[‘name’], d[‘age’], d[‘sex’], d[‘hometown’]))print(type(person_json_obj), ‘ ’)

Python和JSON数据类型对应表


JSONPython
objectdict
arraylist
stringstr
numberint,long,float
true,falseTrue,False
nullNone

需要注意的点

JSON的键名和字符串都必须使用双引号引起来,而Python中单引号也可以表示为字符串,所以这是个比较容易犯的错误!

Python类型与JSON相互转换的时候到底是用load/dump还是用loadsdumps?

不加s的方法入参多了一个fp表示filepath,最后多了一个写入文件的操作。

所以我们在记忆的时候可以这样记忆:

加s表示转成字符串(str),不加s表示转成文件。

热心网友 时间:2022-04-06 04:48

1、说明:
python3通过json模块load函数来解析文件。
2、代码示例:
首先编写一个json文件j.txt,内容如下:
{"errno":1,"errmsg":"操作成功!","data":[]}
python代码如下:

import json
with open('j.txt', 'r') as fr:
    o = json.load(fr)
    print(o['errno'])
    print(o['errmsg'])
    print(len(o['data']))

输出如下:
1
操作成功!
0
3、函数说明:
load(fp, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
反序列化fp(一个.read()包含 - 支持类文件对象一个JSON文件),以一个Python对象。
object_hook是将与被调用的可选功能任何对象文本解码(一个``dict``)的结果。返回值object_hook将用来代替dict。此功能可用于实现自定*码器(例如JSON-RPC级提示)。
object_pairs_hook是将与被调用的可选功能任何对象的结果与对的有序列表字面解码。该的返回值object_pairs_hook将用来代替dict。
此功能可用于实现依赖于定制解码器命令该键和值对被解码(例如,collections.OrderedDict会记得插入的顺序)。如果object_hook也定义了object_pairs_hook优先。
要使用自定义JSONDecoder子类,与cls指定它kwarg;否则JSONDecoder使用。
4、其它说明:
也可以使用json.loads函数来直接处理字符串,方法如下:
o=json.loads('{"errno":0,"errmsg":"操作成功!","data":[]}')

热心网友 时间:2022-04-06 06:06

下面给出一个使用python解析json的简单例子:

#!/usr/bin/python

import json

#Function:Analyze json script

#Json is a script can descript data structure as xml,

#for detail, please refer to "http://json.org/json-zh.html".

#Note:

#1.Also, if you write json script from python,

#you should use mp instead of load. pleaser refer to "help(json)".

#json file:

#The file content of temp.json is:

#{

# "name":"00_sample_case1",

# "description":"an example."

#}

#f = file("temp.json");

#s = json.load(f)

#print s

#f.close

#json string:

s = json.loads('{"name":"test", "type":{"name":"seq", "parameter":["1", "2"]}}')

print s

print s.keys()

print s["name"]

print s["type"]["name"]

print s["type"]["parameter"][1]

热心网友 时间:2022-04-06 07:40

我之前就写好了教程了,自己看就懂了:
【整理】关于Python 3.x中,使用print函数时出现的语法错误(SyntaxError: invalid syntax)的问题的原因

热心网友 时间:2022-04-06 09:32

import json
help(json)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
erp可以看评论地址吗 淘宝评论url是什么意思? 揭秘:码牌支付风控升级,背后真相揭秘 电脑电视直播软件哪个好用什么软件好电脑看电视直播 潼南子同街学区是哪些 三极管BU406价格和参数? 火锅料放在冰柜忘了插电一个星期给会坏了吗 火锅的设备有哪些 火锅餐厅厨房有哪些 小火锅厨房设备有哪些 怎么使用python提取json文件中的字段 “入”字的笔顺怎么写? 如何安装json包python3.5.2 入怎么写田字格 python3 默认有json库吗 “入”字的笔顺是什么? python 怎么提取json中的内容 入字在田字格正确写法 python导入Json库一直失败怎么解决 入字开头的成语有什么? 如何用python读取json文件里指定的数据 入可以组什么词 入字组词语有哪些 入的部首是什么 入口的入怎么写 python json怎么修改json数据 入字的意思是什么 如何用Python解析Json文件 入字拼音怎么打? 如何用Python,查找json格式中指定的数据,然后输... 如何用python读取json里面的值啊 python怎么转化成json格式 如何搭建品牌私域流量体系? 品牌怎么做私域社群? 京东物流联手腾讯进军私域流量,私域流量特指的是... 私域流量,是个什么概念?流量池?怎么弄出来的? 怎么管理自己线上店铺的私域流量? 私域流量是什么意思? 私域流量是什么?如何构建并玩转私域流量呢? 私域流量实质上为企业带来了什么呢? 私域流量会是实体店商家的自救灵丹? 企业如何经营私域流量? 私域流量的核心是什么 知乎 私域的含义是什么? 发展私域流量有什么好处? 什么是私域流量?私域流量有什么作用? 私域流量运营平台哪家强? 私域流量这么火,实体店如何运营私域流量? 做护肤的,怎么运营私域流量? 河北的房地产是怎么去打造自己的私域流量的呢?