2011-03-13 68 views
1

如果我將JSON數據存儲在名爲'data'的字符串中(例如下面的示例),如何訪問特定信息(如messages->unreadpokes->most_recent)?從哪裏開始解析JSON?

{ 
    "messages": { 
    "unread": 0, 
    "most_recent": 1300047276 
    }, 
    "pokes": { 
    "unread": 0, 
    "most_recent": 0 
    }, 
    "shares": { 
    "unread": 0, 
    "most_recent": 0 
    }, 
    "friend_requests": [], 
    "group_invites": [], 
    "event_invites": [] 
} 

我想是這樣data['messages']['unread']工作 - 但當然不會,當我的數據存儲爲一個字符串!

回答

5

從2.6開始,JSON解析器與Python捆綁在一起:json模塊。要反序列化字符串,請使用json.loads,例如

import json 
data = json.loads(...) 

您還可以直接從類似文件的對象加載json.load

+0

json和simplejson之間有區別嗎? – 8128 2011-03-13 21:33:32

+0

@fluteflute:看到這裏:http://stackoverflow.com/questions/712791/json-and-simplejson-module-differences-in-python – 2011-03-13 21:43:08

0

您可以通過JSON解析器運行字符串,將其轉換爲適合您使用的任何語言(Python,集合,數組,字符串等)的合適數據結構。在http://json.org/的底部附近列出了多種語言的編號。