博客
关于我
一篇长文带你在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/

    你可能感兴趣的文章
    Python卸载所有包
    查看>>
    python单线程下实现多个socket并发
    查看>>
    Python单元测试框架介绍(超详细~)
    查看>>
    Python单元测试框架
    查看>>
    python单元测试之unittest
    查看>>
    Python单元测试unittest实战
    查看>>
    Python单元测试-模拟VS补丁
    查看>>
    python协程实时输出_Python 协程以及事件循环的问题,怎么知道 IO 读取结束了呢?...
    查看>>
    Python十进制&;包提供错误的结果
    查看>>
    Python化身“安全老中医”:一键搞定工控系统漏洞,从零基础到精通,收藏这篇就够了!
    查看>>
    Python加速运行技巧
    查看>>
    python办公自动化基础遍历文件夹
    查看>>
    python办公自动化基础输出文件和文件夹
    查看>>
    python办公自动化基础搜索文件
    查看>>
    python知识:@classmethod和@staticmethod的异同
    查看>>
    python前端之css
    查看>>
    Python制作进度条,原来有这么多方法
    查看>>
    Python制作简单的学生成绩管理系统
    查看>>
    python制作甘特图的基本知识(附Demo)
    查看>>
    python制作一个简单的服务器,【Python】 做一个简单的 http 服务器
    查看>>