Python解析json

相對於python解析XML來講,我仍是比較喜歡json的格式返回,如今通常的api返回都會有json與XML格式的選擇,json的解析起來我的以爲相對簡單些html

先看一個簡單的豆瓣的圖書查詢的api返回python

http://api.douban.com/v2/book/isbn/9787218087351
shell



{ "rating" :{ "max" : 10 , "numRaters" : 79 , "average" : "9.1" , "min" : 0 }, "subtitle" :" "," author ":[" 野夫 "]," pubdate ":" 2013 - 9 "," tags ":[{" count ":313," name ":" 野夫 "," title ":" 野夫 "},{" count ":151," name ":" 散文隨筆 "," title ":" 散文隨筆 "},{" count ":83," name ":" 身邊的江湖 "," title ":" 身邊的江湖 "},{" count ":82," name ":" 土家野夫 "," title ":" 土家野夫 "},{" count ":70," name ":" 散文 "," title ":" 散文 "},{" count ":44," name ":" 中國文學 "," title ":" 中國文學 "},{" count ":43," name ":" 隨筆 "," title ":" 隨筆 "},{" count ":38," name ":" 中國現當代文學 "," title ":" 中國現當代文學 "}]," origin_title ":" "," image ":" http:\ / \ / img5.douban.com\ / mpic\ / s27008269.jpg "," binding ":" "," translator ":[]," catalog ":" 自 序 讓記憶抵抗\n001 掌瓢黎爺\n024 遺民老譚\n039 亂世遊擊:表哥的故事\n058 綁赴刑場的青春\n076 風住塵香花已盡 \n083 「酷客」李斯\n100 散材毛喻原\n113 頹世華筵憶黃門\n122 球球外傳:\n一個時代和一隻小狗的際遇\n141 童年的恐懼 與仇恨\n151 殘忍教育\n167 湖山一夢繫生平\n174 香格里拉散記\n208 民國屐痕 "," pages ":" 256 "," images ":{" small ":" http:\ / \ / img5.douban.com\ / spic\ / s27008269.jpg "," large ":" http:\ / \ / img5.douban.com\ / lpic\ / s27008269.jpg "," medium ":" http:\ / \ / img5.douban.com\ / mpic\ / s27008269.jpg "}," alt ":" http:\ / \ / book.douban.com\ / subject\ / 25639223 \ / "," id ":" 25639223 "," publisher ":" 廣東人民出版社 "," isbn10 ":" 7218087353 "," isbn13 ":" 9787218087351 "," title ":" 身邊的江湖 "," url ":" http:\ / \ / api.douban.com\ / v2\ / book\ / 25639223 "," alt_title ":" "," author_intro ":" 鄭世平,筆名野夫,網名土家野夫。畢業於武漢大學,曾當過警察、囚徒、書商。曾出版歷史小說《父親的戰爭》、散文集《江上的母親》(獲臺北 2010 國際書展非虛構類圖書大獎,是該獎項第一個大陸得主)、散文集《鄉關何處》(被新浪網、鳳凰網、新華網分別評爲 2012 年年度好書)。 "," summary ":" 1. 野夫書稿中被刪減最少,最能體現做者觀點、情感的做品。\n2.文字凝練,具備極強的感染力。以一枝孤筆書寫那些就在你我身邊的大歷史背景下普通人的生活變遷。\n3. 柴靜口中「一半像警察,一半像土匪」的野夫,以其特有的韻律表達世間的歡笑和悲苦。 "," price ":" 32 元"}

看起來別提多亂了,如今咱們將其格式進行簡單的整理: json


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
{
rating: {
     max 10 ,
     numRaters:  79 ,
     average:  "9.1" ,
     min 0
},
subtitle: "",
author: [
     "野夫"
],
pubdate:  "2013-9" ,
tags: [
     {
     count:  313 ,
     name:  "野夫" ,
     title:  "野夫"
     },
     {
     count:  151 ,
     name:  "散文隨筆" ,
     title:  "散文隨筆"
     },
     {
     count:  83 ,
     name:  "身邊的江湖" ,
     title:  "身邊的江湖"
     },
     {
     count:  82 ,
     name:  "土家野夫" ,
     title:  "土家野夫"
     },
     {
     count:  70 ,
     name:  "散文" ,
     title:  "散文"
     },
     {
     count:  44 ,
     name:  "中國文學" ,
     title:  "中國文學"
     },
     {
     count:  43 ,
     name:  "隨筆" ,
     title:  "隨筆"
     },
     {
     count:  38 ,
     name:  "中國現當代文學" ,
     title:  "中國現當代文學"
     }
],
origin_title: "",
image:  "http://img5.douban.com/mpic/s27008269.jpg" ,
binding: "",
translator: [ ],
catalog:  "自序 讓記憶抵抗 001 掌瓢黎爺 024 遺民老譚 039 亂世遊擊:表哥的故事 058 綁赴刑場的青春 076 風住塵香花已盡 083 「酷客」李斯 100 散材毛喻原 113 頹世華筵憶黃門 122 球球外傳: 一個時代和一隻小狗的際遇 141 童年的恐懼與仇恨 151 殘忍教育 167 湖山一夢繫生平 174 香格里拉散記 208 民國屐痕" ,
pages:  "256" ,
images: {
     small:  "http://img5.douban.com/spic/s27008269.jpg" ,
     large:  "http://img5.douban.com/lpic/s27008269.jpg" ,
     medium:  "http://img5.douban.com/mpic/s27008269.jpg"
},
alt:  "http://book.douban.com/subject/25639223/" ,
id "25639223" ,
publisher:  "廣東人民出版社" ,
isbn10:  "7218087353" ,
isbn13:  "9787218087351" ,
title:  "身邊的江湖" ,
url:  "http://api.douban.com/v2/book/25639223" ,
alt_title: "",
author_intro:  "鄭世平,筆名野夫,網名土家野夫。畢業於武漢大學,曾當過警察、囚徒、書商。曾出版歷史小說《父親的戰爭》、散文集《江上的母親》(獲臺北2010國際書展非虛構類圖書大獎,是該獎項第一個大陸得主)、散文集《鄉關何處》(被新浪網、鳳凰網、新華網分別評爲2012年年度好書)。" ,
summary:  "1.野夫書稿中被刪減最少,最能體現做者觀點、情感的做品。 2.文字凝練,具備極強的感染力。以一枝孤筆書寫那些就在你我身邊的大歷史背景下普通人的生活變遷。 3. 柴靜口中「一半像警察,一半像土匪」的野夫,以其特有的韻律表達世間的歡笑和悲苦。" ,
price:  "32元"
}

下面咱們經過python來取出想要的信息,好比咱們想要rating,images裏的large和summary api

import urllib2
import json
 
html = urllib2.urlopen(r'http://api.douban.com/v2/book/isbn/9787218087351')
 
hjson = json.loads(html.read())
 
print hjson['rating']
print hjson['images']['large']
print hjson['summary']

是否是很簡單,其實只要把返回的json格式嵌套搞清楚,json仍是比較簡單的。url

相關文章
相關標籤/搜索