2011-03-13 74 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/的底部附近列出了多种语言的编号。