Python中的json模块

Python中的json模块


JSON的全称为**”JavaScript Object Notation”,意思是JavaScript**对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。JSON 表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。 JSON 不仅是标准格式,并且比XML 更快,而且可以直接在 Web 页面中读取,非常方便。

1.JSON与Python类型对比

JSON类型Python 类型
{}dict
[]list
"string"’str’或 u’unicode’
1234.56int 或 float
true/falseTrue/False
nullNone

2.将python对象编码成为json的字符串格式json.dumps()

import json

# 将python对象编码成为json的字符串格式;
# Python对象为字符串
d = {'name': 'villa'}
jsonStr = json.dumps(d)
print(jsonStr)
print(type(jsonStr))
# Python对象为列表
l = [1, 2, 3, 4]
jsonLi = json.dumps(l)
print(jsonLi, type(jsonLi))

这里写图片描述

dump()里可选参数:

def dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True,
        allow_nan=True, cls=None, indent=None, separators=None,
        default=None, sort_keys=False, **kw):
# sort_keys是告诉编码器按照字典排序(a到z)输出   
# indent参数根据数据格式缩进显示,读起来更加清晰
# separators参数的作用是去掉,,:后面的空格     
# skipkeys参数,在encoding过程中,dict对象的key只可以是string对象,如果是其他类型,
# 那么在编码过程中就会抛出ValueError3的异常。skipkeys可以跳过那些非string对象当作key的处理.

这里写图片描述

3.将获取的json字符串解码为python的对象json.loads()

# # 将获取的json字符串解码为python的对象
d = {'name': 'villa'}
jsonStr = json.dumps(d)
pythonDict = json.loads(jsonStr)
print(pythonDict, type(pythonDict))

这里写图片描述

Json应用:

import json
from urllib.request import urlopen

# ip = '8.8.8.8'
ip = input("请输入查询的IP:")
url = "http://ip.taobao.com/service/getIpInfo.php?ip=%s" %(ip)

# 根据url获取网页的内容, 并且解码为utf-8格式, 识别中文;
text  = urlopen(url).read().decode('utf-8')
# print(text)
# print(type(text))

# 将获取的字符串类型转换为字典, 方便处理
d = json.loads(text)['data']
country = d['country']
city = d['city']
print(country, city)

在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值