博客
关于我
一篇长文带你在python里玩转Json数据
阅读量:175 次
发布时间:2019-02-27

本文共 2575 字,大约阅读时间需要 8 分钟。

??JSON????????Python???????

JSON?JavaScript Object Notation?????JavaScript??????????????????????????????????????????????????????????????????Python?????JSON???

JSON?????

JSON????????????

  • ??????JSON??????????????????Python?????
  • ??????????????????????????
  • ????????{???}?????????????????????????
  • ???????JSON???????

    {  "name": "zhuxiao5"}

    ??Python?????????

    ????JSON???????????

    {  "animals": {    "dog": [      {        "name": "Rufus",        "age": 15      },      {        "name": "Marty",        "age": null      }    ]  }}

    ???????????????????Python??JSON?????

    Python??JSON??

    Python??????JSON?????json.dumps()?json.loads()????????

    • json.dumps()??Python?????JSON??????
    • json.loads()??JSON????????Python???

    ????????????????????JSON????

    import jsondict_data = {"a": 1, "b": 2}dump_data = json.dumps(dict_data)load_data = json.loads(dump_data)print(type(dict_data), dict_data)print(type(dump_data), dump_data)print(type(load_data), load_data)

    ???????

    {'a': 1, 'b': 2}
    {"a": 1, "b": 2}
    {'a': 1, 'b': 2}

    ??json.dumps()?json.loads()?????????????????????

    ????JSON??

    ??????????JSON?????????????????JSON?????

  • JSON.cn????????JSON??????????????
  • JSONLint?????JSON????????
  • ?????JSON.cn??????????JSON???

    JsonPath??JSON???????

    ?XML?XPATH???JSON???????????JsonPath?????JSON??????????

    ?????JSON???

    {  "animals": {    "dog": [      {        "name": "Rufus",        "age": 15      },      {        "name": "Marty",        "age": null      }    ]  }}

    ??????JsonPath?????????????

    $..name

    ?Python??????jsonpath?????

    import jsonfrom jsonpath import jsonpathload_data = json.loads(dump_data)jobs = load_data['animals']['dog']result2 = []for job in jobs:    result2.append(jsonpath(jsonpath(job, '$..name')[0]))print(result2)

    ???????

    ['Rufus', 'Marty']

    ??JsonPath?????????JSON??????????

    ???????????????

    ????????????????????????????????

    import jsonimport requestsimport timedef get_comments(url):    data = []    doc = get_json(url)    jobs = doc['hotComments']    for job in jobs:        dic = {}        dic['content'] = jsonpath(jsonpath(job, '$..content')[0])        dic['time'] = time.stampToTime(jsonpath(jsonpath(job, '$..time')[0]))        dic['userId'] = jsonpath(jsonpath(job['user'], '$..userId')[0])        dic['nickname'] = jsonpath(jsonpath(job['user'], '$..nickname')[0])        dic['likedCount'] = jsonpath(jsonpath(job, '$..likedCount')[0])        data.append(dic)    return pd.DataFrame(data)

    ???????????get_json??????????JSON???

    ??

    ??????????????JSON??????Python?JSON?????????????????????????Python?JSON???????????????????????????????????JSON???

    转载地址:http://tqsd.baihongyu.com/

    你可能感兴趣的文章
    POWER ENGLISH (6) - MODEL
    查看>>
    power english (1) —— passion
    查看>>
    Power English (1) 原文
    查看>>
    power English (3)原文
    查看>>
    POWER ENGLISH(7)- repetition
    查看>>
    SpringBoot中集成SpringBatch详细解析与实战示例(CSV文件读取十万条数据进行业务处理后写入Mysql数据库)
    查看>>
    powerbi 一张表在另外一张表中出现的数量_PowerBi之初步学习笔记
    查看>>
    QGIS怎样设置简体中文以及新建可编辑的多边形的图层
    查看>>
    PowerBuilder 使用自定义事件触发键盘Enter事件
    查看>>
    PowerCreatorCMS UploadResourcePic 任意文件上传漏洞复现
    查看>>
    PowerDesigner 使用的一些技巧(转)
    查看>>
    QGIS在Windows上下载安装与建立空间数据库连接
    查看>>
    PowerDesigner165安装婆姐汉花教程
    查看>>
    PowerDesigner使用教程:设置注释、默认值属性
    查看>>
    PowerDesigner使用教程:不显示背景网格
    查看>>
    PowerDesigner使用教程:创建数据模型以及导出
    查看>>
    PowerDesigner使用教程:右侧工具栏显示/隐藏
    查看>>
    PowerDesigner使用教程:导出sql文件以及解决中文乱码问题
    查看>>
    PowerDesigner使用教程:时间字段设置
    查看>>
    PowerDesigner使用教程:给字段添加唯一约束
    查看>>