博客
关于我
一篇长文带你在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+Selenium自动化测试项目实战【建议收藏】
    查看>>
    Python+Selenium自动化测试:Page Object模式
    查看>>
    python+selenium进行cnblog的自动化登录测试
    查看>>
    Python函数只返回第一个值而不是数据框
    查看>>
    Python+SQL实战:京东用户行为数据分析案例解析(上)
    查看>>
    Python+SQL实战:京东用户行为数据分析案例解析(下)
    查看>>
    PYTHON+Twisted+sqlanydb=ABORT()
    查看>>
    Python函数之返回值、作用域和局部变量
    查看>>
    Python+统计学 | 探索常用的数据分析统计分布
    查看>>
    python, selenium中用于切换帧的函数
    查看>>
    python函数
    查看>>
    python----线程、进程、协程的区别及多线程详解
    查看>>
    python---5
    查看>>
    python---使用celery分布式系统异步发送短信(云通讯)来验证登录
    查看>>
    python--003--百分号字符串拼接、format
    查看>>
    Python--10、线程
    查看>>
    Python--Redis实战:第四章:数据安全与性能保障:第4节:复制
    查看>>
    python--基本代码规范
    查看>>
    Python--抽象类接口类
    查看>>
    PYTHON--欧拉习题二
    查看>>