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

    你可能感兴趣的文章
    OpenCV与AI深度学习 | 深度学习检测小目标常用方法
    查看>>
    OpenCV与AI深度学习 | 超越YOLOv10/11、RT-DETRv2/3!中科大D-FINE重新定义边界框回归任务
    查看>>
    OpenCV与AI深度学习 | 高效开源的OCR工具:Surya-OCR介绍与使用
    查看>>
    OpenCV与AI深度学习|16个含源码和数据集的计算机视觉实战项目(建议收藏!)
    查看>>
    Opencv中KNN背景分割器
    查看>>
    OpenCV中基于已知相机方向的透视变形
    查看>>
    OpenCV中的监督学习
    查看>>
    opencv中读写视频
    查看>>
    OpenCV中遇到Microsoft C++ 异常 cv::Exception
    查看>>
    opencv之cv2.findContours和drawContours(python)
    查看>>
    opencv之namedWindow,imshow出现两个窗口
    查看>>
    opencv之模糊处理
    查看>>
    Opencv介绍及opencv3.0在 vs2010上的配置
    查看>>
    OpenCV使用霍夫变换检测图像中的形状
    查看>>
    opencv保存图片路径包含中文乱码解决方案
    查看>>
    OpenCV保证输入图像为三通道
    查看>>
    OpenCV入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
    查看>>
    opencv图像分割2-GMM
    查看>>
    opencv图像分割3-分水岭方法
    查看>>
    opencv图像切割1-KMeans方法
    查看>>