广告
返回顶部
首页 > 资讯 > 后端开发 > Python >JSON解析-python实现
  • 749
分享到

JSON解析-python实现

JSONpython 2023-01-31 07:01:49 749人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

本文从以下几个方面进行讨论: 1. JSON的基本概念 2. python解析jsON 3. 参考 1. JSON基本概念 1.1 JSON概念及特点 JSON 指的是 javascript 对象表示法(JavaScrip

本文从以下几个方面进行讨论:
1. JSON的基本概念
2. python解析jsON
3. 参考

1. JSON基本概念

1.1 JSON概念及特点

  • JSON 指的是 javascript 对象表示法(JavaScript Object Notation)
  • JSON 是轻量级的文本数据交换格式
  • JSON 独立于语言,JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言
  • JSON 具有自我描述性,更易理解

JSON 比 XML 更小、更快,更易解析。具体的JSON和XML的比较,可以参考博客:
JSON与XML的区别比较

1.2 JSON语法规则

JSON 语法是 JavaScript 对象表示法语法的子集。

  • 数据在名称/值对中
  • 数据由逗号分隔
  • 花括号保存对象
  • 方括号保存数组

JSON的数据保存在 名称/值 对中。
名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值,例如:

“Name” : “SunPro”

JSON的值的类型有:

  • 数字(整数或浮点数)
  • 字符串(在双引号中)
  • 逻辑值(true 或 false)
  • 数组(在方括号中)
  • 对象(在花括号中)
  • null

看一个JSON和XML的示例:
表示中国部分省市数据如下

{
    "name": "中国",
    "province": [{
        "name": "黑龙江",
        "cities": {
            "city": ["哈尔滨", "大庆"]
        }
    }, {
        "name": "广东",
        "cities": {
            "city": ["广州", "深圳", "珠海"]
        }
    }, {
        "name": "台湾",
        "cities": {
            "city": ["台北", "高雄"]
        }
    }, {
        "name": "新疆",
        "cities": {
            "city": ["乌鲁木齐"]
        }
    }]
}

对应的XML文件

<?xml version="1.0" encoding="utf-8"?>
<country>
    <name>中国</name>
    <province>
        <name>黑龙江</name>
        <cities>
            <city>哈尔滨</city>
            <city>大庆</city>
        </cities>
    </province>
    <province>
        <name>广东</name>
        <cities>
            <city>广州</city>
            <city>深圳</city>
            <city>珠海</city>
        </cities>
    </province>
    <province>
        <name>台湾</name>
        <cities>
            <city>台北</city>
            <city>高雄</city>
        </cities>
    </province>
    <province>
        <name>新疆</name>
        <cities>
            <city>乌鲁木齐</city>
        </cities>
    </province>
</country>

可以看到,JSON 简单的语法格式和清晰的层次结构明显要比 XML 容易阅读,并且在数据交换方面,由于 JSON 所使用的字符要比 XML 少得多,可以大大得节约传输数据所占用得带宽。

2. Python 解析JSON

python通过json库来解析JSON
使用 JSON 函数需要导入 json 库:import json。

2.1 json函数

函数 描述
json.dumps() 将 Python 对象编码成 JSON 字符串
json.loads() 将已编码的 JSON 字符串解码为 Python 对象

2.2 python和JSON解析过程中的对应关系

Decoding:

JSON Python
object dict
array list
string str
number (int) int
number (real) float
true True
false False
null None

Encoding:

Python JSON
dict object
list, tuple array
str string
int, float, int- & float-derived Enums number
True true
False false
None null

看一下实例:

import json
data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
jsonstr = json.dumps(data, sort_keys=True, indent=4, separators=(',', ': ')) #格式化输出
print(jsonstr)
print(type(jsonstr))
jsonDe = json.loads(jsonstr)
print(jsonDe)
print(type(jsonDe))

json解析也可以使用python json模块封装的json.JSONDecoder 和 json.JSONEncoder 类
详见 https://docs.python.org/3.5/library/json.html
也可以使用第三方库:Demjson
Demjson 是 python 的第三方模块库,可用于编码和解码 JSON 数据,包含了 JSONLint 的格式化及校验功能。
GitHub 地址:Https://github.com/dmeranda/demjson
官方地址:http://deron.meranda.us/python/demjson/

Reference

  1. 百度百科-JSON
  2. W3Schol-JSON 教程
  3. 3.

--结束END--

本文标题: JSON解析-python实现

本文链接: https://www.lsjlt.com/news/192083.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JSON解析-python实现
    本文从以下几个方面进行讨论: 1. JSON的基本概念 2. python解析JSON 3. 参考 1. JSON基本概念 1.1 JSON概念及特点 JSON 指的是 JavaScript 对象表示法(JavaScrip...
    99+
    2023-01-31
    JSON python
  • 使用Python解析JSON的实现示例
    JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。Python3 中可以使用 json 模块来对 JSON 数据进行编解码,主要包含了下...
    99+
    2022-11-12
  • python-json校验-jsonpath解析
    目录背景表示法jsonpath的语法示例实战背景 在进行接口自动化测试的时候,对响应结果进行校验,基本上都是对json数据的校验,响应内容十分复杂,当然验证也是一个很庞大的工程 ,不...
    99+
    2022-11-21
    python json校验 python json校验 jsonpath python json
  • python解析与组装json
    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 J...
    99+
    2023-01-31
    python json
  • Golang实现Json分级解析及数字解析实践详解
    目录一、背景介绍二、解决方案(1)将Json直接解析为map(2)解析部分json struct的方法 (json.RawMessage的用法)(3) json.Number类型的使...
    99+
    2023-02-14
    Golang Json分级解析 Golang Json解析 Golang Json
  • Go语言怎么实现JSON解析
    这篇文章主要介绍“Go语言怎么实现JSON解析”,在日常操作中,相信很多人在Go语言怎么实现JSON解析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Go语言怎么实现JSON解析”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-30
  • python怎么解析json文件
    使用python解析json文件的方法:1.新建python项目;2.导入json模块;3.使用open()函数打开json文件,并创建文件对象;4.使用json.loads()方法解析json文件;具体步骤如下:首先,打开python,并...
    99+
    2022-10-24
  • 怎么使用Python解析JSON
    这篇文章主要介绍“怎么使用Python解析JSON”,在日常操作中,相信很多人在怎么使用Python解析JSON问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用Python解析JSON”的疑惑有所帮助!...
    99+
    2023-06-22
  • 深入理解Python对Json的解析
    Json简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - De...
    99+
    2022-06-04
    Python Json
  • Python使用JSON库解析JSON数据的方法
    目录1 如何在网页中获取 JSON 数据?2 Python 内置的 JSON 库1 如何在网页中获取 JSON 数据? 打开一个具有动态渲染的网页,按 F12 打开浏览器开发工具,点...
    99+
    2022-11-11
  • Go语言实现JSON解析的方法详解
    目录1、json序列化2、Json反序列化为结构体对象3、Json反序列化为map类型4、Tag的使用在日常项目中,使用Json格式进行数据封装是比较常见的操作,看一下golang怎...
    99+
    2022-11-13
  • Go语言实现JSON解析的神器详解
    目录前言JSON解析实践标准库encoding/json第三方库json-iterator收集到开源项目jinzaigo/xutil中总结前言 php转go是大趋势,越来越多公司的p...
    99+
    2023-01-29
    Go语言解析JSON Go 解析JSON Go语言 JSON
  • python怎么读取json并解析
    在Python中,可以使用json模块来读取和解析JSON数据。下面是一个简单的例子:pythonimport json# 读取JS...
    99+
    2023-10-18
    python json
  • Python简单解析和封装json
    python list对象转换成json格式 #!/usr/bin/env python import json data = [{'type':'trigger','addr':'0x1234','data':'0x...
    99+
    2023-01-31
    简单 Python json
  • Python解析JSON数据的方法
    Python解析JSON数据的方法 在Python中,我们可以使用内置的json模块来解析JSON数据。下面是一个简单的例子: import json# JSON数据json_str = '{"nam...
    99+
    2023-09-01
    python json 开发语言
  • python怎么获取json并解析
    要在Python中获取和解析JSON数据,你可以使用`json`模块。下面是一些示例代码,展示了如何获取JSON数据并解析它: im...
    99+
    2023-10-27
    python json
  • C/C++ QT如何实现解析JSON文件
    这篇“C/C++ QT如何实现解析JSON文件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C/C++ ...
    99+
    2023-06-26
  • springboot实现FastJson解析json数据的方法
    最近在研究springboot实现FastJson解析json数据的方法,那么今天也算个学习笔记吧!添加jar包:<dependency> <groupId>com.alibaba</groupId...
    99+
    2023-05-31
    spring boot fastjson
  • Java实现解析JSON大文件JsonReader工具详解
    目录一,使用背景二,JsonReader的使用一,使用背景 之前遇到一个需求,是需要将一个json文件解析存储到数据库中。一开始测试的时候,json文件的大小都在几兆以内,所以直接将...
    99+
    2023-01-11
    Java JsonReader Java解析JSON大文件
  • 如何在python中解析json文件
    本篇文章为大家展示了如何在python中解析json文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作