Python json详解

news/2024/7/3 0:49:25

一、抓取文本数据

  1. 结构化数据:json,xml(极其的稀少) 。直接转化为python类型

  2. 非结构化数据:HTML,字符串。正则表达式、xpath

二、JSON简介

     JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式, 它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。 适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。

三、JSON格式数据特点

 1.最外层要么是一个列表一样的[],要么是一个字典一样的{}
 2.json数据的引号必须是双引号 
 3.末尾元素,不写逗号 
 4.没有注释

四、JSON常用方法

4.1  json.dumps()

      python类型转化为json字符串,返回一个str对象把一个Python对象编码转换成Json字符串;

import  json  #自带库
#1.python字典 >> json(数据的填充)
def dict_json():
     # python数据 > 字典
     dict_data= {
        "name":"mike",
         "age":19,
         "addr":"杭州"
     }
     print(dict_data,type(dict_data))

     # python数据 > json
     #默认使用的ascii 编码
     # indent=3 每一个键值对的缩进空格
     # json_data=json.dumps(dict_data)
     json_data=json.dumps(dict_data,ensure_ascii=False,indent=3)
     print(json_data, type(json_data))


if __name__ == '__main__':
     dict_json()

 4.2  json.loads()

  把Json格式字符串解码转换成Python对象;

#2.json >> python字典
def json_dict():
    # python数据 > 字典
    dict_data = {
        "name": "mike",
        "age": 19,
        "addr": "杭州"
    }
    # python数据 > json
    # 默认使用的ascii 编码
    json_data = json.dumps(dict_data, ensure_ascii=False, indent=3)
    print(json_data, type(json_data))
    # json > python 才能够处理前端交互过来的json数据
    python_data=json.loads(json_data)
    print(python_data,type(python_data))

 4.3  json.dumps() 

 将Python内置类型序列化为json对象后写入文件

import  json

# python格式的数据 >> json文件
#json.dump(json文件)
def ptyhon_file():
    # python数据 > 字典
    dict_data = {
        "name": "mike",
        "age": 19,
        "addr": "杭州"
    }
    #文件对象
    file_obj=open('js1.json','w',encoding='utf-8')
    # json文件
    json.dump(dict_data,file_obj,ensure_ascii=False)
    #关闭
    file_obj.close()

  4.4  json.loads() 

   读取文件中json格式的字符串元素 转化成python类型; 

# json文件 >> python格式的数据
#json.load(json文件)
def file_python():
    #文件对象
    file_obj=open('js1.json','r',encoding='utf-8')
    # json文件 >> python格式的数据
    python_data=json.load(file_obj)
    print(python_data,type(python_data))
    #关闭文件
    file_obj.close()


if __name__ == '__main__':
   file_python()

 


http://lihuaxi.xjx100.cn/news/1023809.html

相关文章

【swagger使用详解】『CSDN精选』java如何集成swagger进行接口测试【博主亲测有效】

【写在前面】对于我前端开发出身的写接口并测试的话,我还是更喜欢用swagger,主要它那种界面用起来比较的舒服,当然很多人还是习惯性的用post进行测试,接下来我就来和大家说说怎么将swagger引入到你的项目中去。及swagger该如何使用。 涉及知识…

[Linux]破解原系统、安装新系统

​⭐作者介绍:大二本科网络工程专业在读,持续学习Java,输出优质文章 ⭐作者主页:逐梦苍穹 ⭐所属专栏:Linux基础操作。本文主要是分享一些Linux系统常用操作,内容主要来源是学校作业,分享出来的…

4月Google Play政策更新,游戏上架需要注意这几点

3月21日,据路透社报道,由于发现国内某知名电商应用存在恶意软件问题,谷歌已暂时将该APP从商店下架,并表示:将该APP下架是一种安全预防措施,已经下载的用户也会收到警告,提示他们进行卸载。 4月…

Prometheus监控Spring Cloud Gateway

📚概述 API网关作为应用服务与外部交互的入口,通过对API网关的监控,可以清晰的知道应用整体的请求量,以便根据不同的并发情况进行扩容处理。 对API网关的监控也是相当必要的。 通过Prometheus监控Gateway与监控普通Springboot项目…

九耶丨阁瑞钛伦特-教会你对商场顾客数据集的可视化分析!

在实际场景中,比如本项目的商场顾客数据集,只包含一批顾客的背景信息,但并不包含顾客的类别信息(顾客是属于什么类别的)。我们面对的许多真实数据集都是没有提供属性标签的,对于这种无标签的数据&#xff0…

0401脚手架配置代理-ajax-react

1 场景 跨域 现在很多web应用都是基于b\s架构并且实现前后端分离,当前端(js)向后端发送请求响应数据,但是由于浏览器的同源策略,会产生跨域问题。 关于同源策略和跨域问题的产生,可参考跨域问题及跨域解…

持续集成流水线:如何通过自动化解放你的双手?

你好,我是黄俊彬。 在过去的很多咨询项目中,我遇到了很多团队都没有很好运用持续集成流水线的实践。从团队协作的角度上来看,在版本发布过程中,经常出现测试依赖开发手工生成制品、版本发布也从开发本地出版本的问题。 而且项目…

CANoe创建仿真节点,并配合CAPL按需改变信号值

CANoe创建仿真节点,并配合CAPL按需改变信号值 写在前面 本文章只针对一路CAN进行仿真,主要目的是记录一下如何使用节点仿真搭配CAPL编程来模拟信号的发送,解决信号不断跳变的仿真场景,当然如果有多路信号需要仿真,只需要参考一路的方法,重复配置其他几路即可。 新建一个…