Python json详解

一、抓取文本数据

  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()

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pythonjson模块提供了一些方法来处理JSON数据。其中一些方法包括: 1. loads方法:这个方法用于将一个包含JSON文档的字符串反序列化为Python对象。它的语法是:`loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)`。\[2\] 2. load方法:这个方法用于将一个包含JSON文档的文件反序列化为Python对象。它的语法是:`load(fp, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)`。\[3\] 3. json.tool模块:这个模块提供了一个命令行工具,可以格式化和验证JSON数据。可以使用`python -m json.tool`命令来运行这个工具。可以使用`--sort-keys`选项来根据JSON数据的key的字典序重新排序输出。\[1\] 这些方法和工具可以帮助你在Python中处理JSON数据。 #### 引用[.reference_title] - *1* [Python中的JSON模块详解](https://blog.csdn.net/taiyangdao/article/details/78360002)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [python json模块 超级详解](https://blog.csdn.net/weixin_39691968/article/details/109877936)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值