1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
对于字典中的值的提取
1.
简单的字典提取
>>>
dict
=
{
"name"
:
"hxy"
,
'age'
:
28
}
>>>
dict
[
'name'
]
'hxy'
>>>
dict
[
'age'
]
28
2.
字典内的字典值的提取
>>>
dict
=
{
"name"
:[{
"name1"
:
"hxy"
,
"name2"
:
"forand"
}],
'age'
:
28
}
>>>
print
dict
[
'name'
][
0
]
{
'name2'
:
'forand'
,
'name1'
:
'hxy'
}
>>>
dict
=
{
"name"
:[{
"name1"
:
"hxy"
,
"name2"
:
"forand"
},{
"name1"
:
"hxy"
,
"name2"
:
"forand"
}],
'age'
:
28
}
>>>
print
dict
[
'name'
][
1
][
'name2'
]
forand
>>>
dict
=
{
"name"
:[{
"name1"
:
"hxy"
,
"name2"
:
"forand"
},{
"name3"
:
"hxy1"
,
"name4"
:
"forand1"
}],
'age'
:
28
}
>>>
print
dict
[
'name'
][
1
][
'name3'
]
hxy1
|
1
2
3
4
5
6
7
8
|
对于url请求接口的属于来说:
r
=
requests.get(
"http://v.juhe.cn/laohuangli/d"
, params
=
payload)
r是一个类
a
=
r.json()
a是一个字典
b
=
a[
'result'
]
b也是一个字典
看下输出结果
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#coding=utf-8
import
json
import
requests
payload
=
{
'date'
:
'2017-09-22'
,
'key'
:
'170764c0fb8f1fd43cf527f120ec268d'
}
r
=
requests.get(
"http://v.juhe.cn/laohuangli/d"
, params
=
payload)
a
=
r.json()
b
=
a[
'result'
]
print
(r)
print
(
type
(r))
print
(a)
print
(
type
(a))
print
(b)
print
(
type
(b))
print
(b[
'id'
])
|
1
2
3
4
5
6
7
|
<Response [
200
]>
<
class
'requests.models.Response'
>
{
'reason'
:
'successed'
,
'result'
: {
'id'
:
'2740'
,
'yangli'
:
'2017-09-22'
,
'yinli'
:
'丁酉(鸡)年八月初三'
,
'wuxing'
:
'桑拓木 平执位'
,
'chongsha'
:
'冲马(丙午)煞南'
,
'baiji'
:
'壬不汲水更难提防 子不问卜自惹祸殃'
,
'jishen'
:
'天恩 四相 时德 阳德 民日 玉堂 司命 鸣犬对'
,
'yi'
:
'祭祀 沐浴 修饰垣墙 平治道涂 馀事勿取'
,
'xiongshen'
:
'河魁 天吏 死神 往亡'
,
'ji'
:
'斋醮 嫁娶 移徙 出行 上梁 入宅'
},
'error_code'
:
0
}
<
class
'dict'
>
{
'id'
:
'2740'
,
'yangli'
:
'2017-09-22'
,
'yinli'
:
'丁酉(鸡)年八月初三'
,
'wuxing'
:
'桑拓木 平执位'
,
'chongsha'
:
'冲马(丙午)煞南'
,
'baiji'
:
'壬不汲水更难提防 子不问卜自惹祸殃'
,
'jishen'
:
'天恩 四相 时德 阳德 民日 玉堂 司命 鸣犬对'
,
'yi'
:
'祭祀 沐浴 修饰垣墙 平治道涂 馀事勿取'
,
'xiongshen'
:
'河魁 天吏 死神 往亡'
,
'ji'
:
'斋醮 嫁娶 移徙 出行 上梁 入宅'
}
<
class
'dict'
>
2740
|
其中2740 就是我们要提取的ID值
-
编码:把一个Python对象编码转换成Json字符串 json.dumps()
-
解码:把Json格式字符串解码转换成Python对象 json.loads()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#coding=utf-8
import
json
import
requests
data1
=
{
'b'
:
789
,
'c'
:
456
,
'a'
:
123
}
data2
=
{
'a'
:
123
,
'b'
:
789
,
'c'
:
456
}
d1
=
json.dumps(data1,sort_keys
=
True
)
d2
=
json.dumps(data2)
d3
=
json.dumps(data2,sort_keys
=
True
)
j
=
json.loads(d1)
print
(d1)
print
(
type
(d1))
print
(
type
(data1))
print
(
type
(j))
print
(d2)
print
(
type
(d2))
print
(d3)
print
(d1
=
=
d2)
|
1
2
3
4
5
6
7
8
9
|
{
"a"
:
123
,
"b"
:
789
,
"c"
:
456
}
<
class
'str'
>
<
class
'dict'
>
<
class
'dict'
>
{
"a"
:
123
,
"b"
:
789
,
"c"
:
456
}
<
class
'str'
>
{
"a"
:
123
,
"b"
:
789
,
"c"
:
456
}
<
class
'str'
>
True
|
由上面可以看出dumps转换了变为字符串str
有loads转化变为字典dict
具体的url用法可以查看
http://www.cnblogs.com/Lands-ljk/p/5447127.html
本文转自 Forande 51CTO博客,原文链接:http://blog.51cto.com/853056088/1962412