最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

python如何读写json数据(代码)

来源:懂视网 责编:小采 时间:2020-11-27 14:11:48
文档

python如何读写json数据(代码)

python如何读写json数据(代码):本篇文章给大家带来的内容是关于python如何读写json数据(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。json使用 Python 语言来编码和解码 JSON 对象。JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,
推荐度:
导读python如何读写json数据(代码):本篇文章给大家带来的内容是关于python如何读写json数据(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。json使用 Python 语言来编码和解码 JSON 对象。JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,
本篇文章给大家带来的内容是关于python如何读写json数据(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

json

使用 Python 语言来编码和解码 JSON 对象。
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写。使用json函数需要导入json模块

  • json.dumps

  • 将 Python 对象编码成 JSON 字符串

  • json.loads

  • 用于解码 JSON 数据。该函数返回 Python 字段的数据类型。

    基础命令

    将python对象编码成为json的字符串格式

    d = {'name':'sheen',
     'age':17}
    jsonStr = json.dumps(d) #{"name": "sheen", "age": 17} <class 'str'>
    
    l = [1,3,5,1.2]
    jsonList = json.dumps(l) #[1, 3, 5, 1.2] <class 'str'>

    将获取的json字符串解码为python的对象

    pydict = json.loads(jsonStr) #{'name': 'sheen', 'age': 17} <class 'dict'>
    
    pylist = json.loads(jsonList) #[1, 3, 5, 1.2] <class 'list'>

    将python对象编码成为json的字符串格式并写入文件中

    with open('json.txt','w') as f :
     json.dump(d,f)

    将文件中的json字符串解码为python的对象

    with open('json.txt') as f:
     jsondict = json.load(f) #{'name': 'sheen', 'age': 17} <class 'dict'>

    json示例

    给100个不同的用户一个value值,存放到文件'json_dump.txt',并且是json格式
    json.dump()参数

  • indent

  • 应该是一个非负的整型,如果是0,或者为空,则一行显示数据;否则会换行且按照indent的数量显示前面的空白

  • sort_keys

  • 将数据根据keys的值进行排序

  • separators = ("每个元素间的分隔符", “key和value之间的分隔符”)

  • #给100个不同的用户一个value值
    #存放到文件'json_dump.txt',并且是json格式
    import json
    import string
    from random import choice
    
    keys = ['user'+str(i) for i in range(100)]
    values = string.ascii_lowercase+string.ascii_uppercase #大小写字符串
    
    dict = {choice(keys):choice(values) for i in range(100)}
    
    with open('json_dump.txt','w') as f:
     #indent:应该是一个非负的整型,如果是0,或者为空,则一行显示数据;否则会换行且按照indent的数量显示前面的空白
     #sort_keys:将数据根据keys的值进行排序
     #separators = ("每个元素间的分隔符", “key和value之间的分隔符”)
     json.dump(dict,f,indent=4,sort_keys=True, separators=(';', '='))
    
    
    #为何最后文件不够100行?
    #因为随机选取的key值可能会重复,字典类型的key不允许重复,最后得到的数据会少于你给定的100次

    1763300125-5b9a282f018b7_articlex.png

    查询IP地址

    根据IP查询所在地、运营商等信息的一些API如下:

    1. 淘宝的API(推荐):http://ip.taobao.com/service/getIpInfo.php?ip=110.84.0.129
    2. 国外freegeoip.net(推荐):http://freegeoip.net/json/110.84.0.129 这个还提供了经纬度信息(但不一定准)
    3. 新浪的API:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=110.84.0.129
    4. 腾讯的网页查询(返回的非json格式): http://ip.qq.com/cgi-bin/searchip?searchip1=110.84.0.129
    5. ip.cn的网页(返回的非json格式):http://www.ip.cn/index.php?ip=110.84.0.129
    6. ip-api.com: http://ip-api.com/json/110.84.0.129

    上述的API接口,大多有一个特点是, 返回的直接是个json格式

    import json
    from urllib.request import urlopen
    
    # ip = input("请输入你要查询的Ip:")
    ip = '8.8.8.8'
    url = "http://ip.taobao.com/service/getIpInfo.php?ip=%s" %(ip)
    print(url)
    # 根据url获取网页的内容, 并且解码为utf-8格式, 识别中文;
    text = urlopen(url).read().decode('utf-8')
    # print(text,type(text))
    data = json.loads(text)['data']
    country = data['country']
    country_id = data['country_id']
    print(country,country_id)

    2162232030-5b9a2b9e3643c_articlex.png

    声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文档

    python如何读写json数据(代码)

    python如何读写json数据(代码):本篇文章给大家带来的内容是关于python如何读写json数据(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。json使用 Python 语言来编码和解码 JSON 对象。JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,
    推荐度:
    标签: 数据 代码 python
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top