您的位置:

利用Python解析JSON数据

一、JSON的基础知识

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,与XML类似,但比XML更轻巧、更快速,也易于人类阅读和编写。JSON采用键值对的方式存储数据,使用简单,语法规则简单明了,可被多种编程语言轻松解析和生成。

JSON格式由两种数据类型构成:键/值对和数组。键/值对表示一个对象的属性,数组则是多个对象的集合。下面是一个JSON格式示例:

{
    "name": "John",
    "age": 30,
    "city": "New York",
    "scores": [90, 85, 95]
}

其中,每个键/值对都由一个键和一个值组成,以冒号分隔,每个键/值对之间使用逗号分隔。对于数组,每个元素之间也使用逗号分隔。

二、Python解析JSON的方法

Python中内置了json模块,可以方便地解析JSON数据。主要有两种方法:

1. json.loads()

使用json.loads()方法可以将JSON字符串转换为Python对象。例如,我们有以下JSON字符串:

{
    "name": "John",
    "age": 30,
    "city": "New York",
    "scores": [90, 85, 95]
}

使用json.loads()方法将字符串转为Python对象:

import json

json_str = '{"name": "John", "age": 30, "city": "New York", "scores": [90, 85, 95]}'
python_obj = json.loads(json_str)
print(python_obj)

输出结果如下:

{'name': 'John', 'age': 30, 'city': 'New York', 'scores': [90, 85, 95]}

2. json.dump()和json.load()

使用json.dump()方法将Python对象转换为JSON字符串,并将其写入文件,使用json.load()方法从文件中读取JSON字符串并转换为Python对象。例如,我们有以下Python对象:

python_obj = {
    "name": "John",
    "age": 30,
    "city": "New York",
    "scores": [90, 85, 95]
}

将Python对象写入JSON文件:

import json

with open('data.json', 'w') as f:
    json.dump(python_obj, f)

从JSON文件中读取Python对象:

import json

with open('data.json', 'r') as f:
    python_obj = json.load(f)
print(python_obj)

输出结果与前面一致:

{'name': 'John', 'age': 30, 'city': 'New York', 'scores': [90, 85, 95]}

三、使用Python解析JSON

1. 解析本地JSON文件

我们可以在本地创建一个JSON文件,然后使用Python解析它。例如,创建一个名为data.json的文件,内容如下:

{
    "name": "John",
    "age": 30,
    "city": "New York",
    "scores": [90, 85, 95]
}

使用Python读取并解析该文件:

import json

with open('data.json', 'r') as f:
    data = json.load(f)

print(data['name'])
print(data['age'])
print(data['city'])
print(data['scores'])

输出结果如下:

John
30
New York
[90, 85, 95]

2. 解析来自API的JSON数据

使用Python解析从API获取的JSON数据同样比较简单。例如,我们使用requests模块从GitHub API获取一个用户的信息,然后解析JSON数据:

import requests
import json

url = 'https://api.github.com/users/octocat'
response = requests.get(url)
data = json.loads(response.text)

print(data['login'])
print(data['name'])
print(data['company'])
print(data['followers'])

输出结果如下:

octocat
The Octocat
GitHub
22284

四、小结

本文介绍了JSON的基础知识和Python解析JSON的方法。着重介绍了使用Python读取本地JSON文件和从API获取JSON数据并解析的方法,并提供了具体示例代码,希望能帮助大家更好地使用Python处理JSON数据。

python数据分析学习笔记1(python数据分析基础和利

2022-11-09
利用Python解析JSON数据

2023-05-13
python技巧笔记(python自学笔记)

2022-11-12
python方法笔记,python基础教程笔记

2022-11-20
Python解析JSON数据

2023-05-10
python学习之笔记(python的笔记)

2022-11-10
python的用法笔记本(笔记本学python)

2022-11-16
python笔记二(2python)

2022-11-11
最新python学习笔记3,python基础笔记

2022-11-17
包含python使用笔记24的词条

2022-11-21
python分层解析json数据,解析多层json

本文目录一览: 1、python 多层嵌套的json内容 怎么获取 2、怎样用python解析json 3、python json快速解析命令 4、Python爬虫(七)数据处理方法之JSON 5、如

2023-12-08
core解析json的笔记(c json解析)

本文目录一览: 1、如何解析json中map数据 2、fasterxml.jackson.core.jsonparser.feature是哪个jar包的 3、spring mvc 怎么获取json 4

2023-12-08
python学习笔记一之,python入门笔记

2022-11-21
用Python解析JSON数据

2023-05-10
我的python笔记06(Python)

2022-11-14
python中json解析转换,python 对象转json

2022-11-25
python笔记第六天,python第六周笔记

2022-11-21
用python3解析json,python3基础语法

本文目录一览: 1、【Python】浅谈python中的json 2、python json快速解析命令 3、python3.0怎么用json从文件解析 【Python】浅谈python中的json

2023-12-08
python使用笔记23的简单介绍

2022-11-10
python导入json(python导入json包)

本文目录一览: 1、python-接口调用传json参数的两种方法 2、【Python】浅谈python中的json 3、python如何安装json库 python-接口调用传json参数的两种方法

2023-12-08