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

    你可能感兴趣的文章
    python3、ipython3、setup-tools、pip等环境搭建详细总结
    查看>>
    python3下使用cv2.imwrite存储带有中文路径图片或者绝对路径图片
    查看>>
    python3与django中@property详解
    查看>>
    python3中如何表示无穷大
    查看>>
    Python3中提示:no module named 'wxpy'
    查看>>
    python3中选择文件对话框的格式打开和保存图片
    查看>>
    python3为什么print永远都是地址_Python3 print 函数用法总结
    查看>>
    Python3之uuid模块
    查看>>
    Python3之写入Excel文档(xlsxwriter)
    查看>>
    Python3之打印操作打印流重定向(下)
    查看>>
    python3判断字典、列表、元组为空以及字典是否存在某个key的方法
    查看>>
    Python3利用pymysql操作 MySQL
    查看>>
    python3处理json文件中含有中文dumps的应用
    查看>>
    Python3子进程输出
    查看>>
    Python3学习笔记3,变量、运算符
    查看>>
    Python3学习笔记(urllib模块的使用)
    查看>>
    python3安装scapy_Linux下安装scapy-python3
    查看>>
    python3实现socket通信
    查看>>
    Python关于numpy.transpose函数详细解析附代码
    查看>>
    Python3导入自定义模块的3种方式
    查看>>