日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python2.x自学笔记(一)——Json格式与请求

發(fā)布時(shí)間:2024/4/17 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python2.x自学笔记(一)——Json格式与请求 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

?

簡單請求

# 簡單的請求響應(yīng) import urllib2response = urllib2.urlopen('http://www.baidu.com/') html = response.read() print html

import urllib2request = urllib2.Request('http://www.baidu.com/') response = urllib2.urlopen(request) html = response.read() print html

?

JSON操作

JSON對象直接使用

其實(shí)就是dict

import jsonbody_value = {"name":"張三","data":{"cmdtype":"test","currpage":"0","pagesize":"10"}} print json.dumps(body_value, ensure_ascii=False)

JSON未轉(zhuǎn)義字符串在loads后使用

import jsonbody_value = '{"name":"張三","data":{"cmdtype":"test","currpage":"0","pagesize":"10"}}' decoded = json.loads(body_value) print 'name:',decoded['name'] print 'data.cmdtype:',decoded['data']['cmdtype'] print json.dumps(decoded, ensure_ascii=False)

結(jié)果為:

name: 張三 data.cmdtype: test {"data": {"currpage": "0", "pagesize": "10", "cmdtype": "test"}, "name": "張三"}

ensure_ascii=False不加的話,中文不會被顯示正確

在dumps()中添加indent=4后,可格式化json:

print json.dumps(decoded, ensure_ascii=False, indent=4) {"data": {"currpage": "0", "pagesize": "10", "cmdtype": "test"}, "name": "張三" }

在dumps()中添加sort_keys=True后,可將JSON屬性排序:

print json.dumps(decoded, indent=4, sort_keys=True, ensure_ascii=False) {"data": {"cmdtype": "test", "currpage": "0", "pagesize": "10"}, "name": "張三" }

JSON有轉(zhuǎn)義字符的字符串在loads后使用

import jsonbody_value = '''{"name":"張三","data":{\"cmdtype\":\"test\",\"currpage\":0,\"pagesize\":10}} ''' decoded = json.loads(body_value) print decoded.keys() print json.dumps(decoded, sort_keys=True, ensure_ascii=False, indent=4)

結(jié)果:

[u'data', u'name'] {"data": {"cmdtype": "test", "currpage": 0, "pagesize": 10}, "name": "張三" }

json.loads與eval的區(qū)別

import jsonbody_value = "{\"name\":\"張三\",\"data\":{\"cmdtype\":\"test\",\"currpage\":0,\"pagesize\":10}}"decoded = eval(body_value) print decoded.keys() print json.dumps(decoded, sort_keys=True, ensure_ascii=False, indent=4) decoded = json.loads(body_value) print decoded.keys() print json.dumps(decoded, sort_keys=True, ensure_ascii=False, indent=4)

結(jié)果:

['data', 'name'] {"data": {"cmdtype": "test", "currpage": 0, "pagesize": 10}, "name": "張三" } [u'data', u'name'] {"data": {"cmdtype": "test", "currpage": 0, "pagesize": 10}, "name": "張三" }

?

發(fā)送JSON格式請求

import httplib import jsondef http_post():requrl = 'http://localhost:8999/query/normal'headerdata = {"Content-type": "application/json"}body_value = {"name":"張三","data":{"cmdtype":"test","currpage":"0","pagesize":"10"}}conn = httplib.HTTPConnection("localhost", 8999)conn.request('POST', requrl, json.dumps(body_value), headerdata)response = conn.getresponse()return response.read()data = http_post() print data

?

轉(zhuǎn)載于:https://my.oschina.net/woooooody/blog/1154056

總結(jié)

以上是生活随笔為你收集整理的Python2.x自学笔记(一)——Json格式与请求的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。