PYTHON关于提取返回JSON结果中特定字段的问题

{"statuses":[{"created_at":"TueMay3117:46:55+08002011","id":11488058246,"text":"求关注。"... {
"statuses": [
{
"created_at": "Tue May 31 17:46:55 +0800 2011",
"id": 11488058246,
"text": "求关注。",
"source": "<a href="http://weibo.com" rel="nofollow">新浪微博</a>",
"favorited": false,
"truncated": false,

比如返回了个这个,如何提取里面的TEXT的内容
展开
 我来答
点击这里有惊喜
2014-04-10 · TA获得超过2948个赞
知道大有可为答主
回答量:3323
采纳率:76%
帮助的人:918万
展开全部
实际上JSON就是Python字典的字符串表示,但是字典作为一个复杂对象是无法直接转换成定义它的代码的字符串,Python有一个叫
simplejson的库可以方便的完成JSON的生成和解析,这个包已经包含在Python2.6中,就叫json 主要包含四个方法:
dump和dumps(从Python生成JSON),load和loads(解析JSON成Python的数据类型)dump和dumps的唯一区别是
dump会生成一个类文件对象,dumps会生成字符串,同理load和loads分别解析类文件对象和字符串格式的JSON
import json
dic = {
'str': 'this is a string',
'list': [1, 2, 'a', 'b'],
'sub_dic': {
'sub_str': 'this is sub str',
'sub_list': [1, 2, 3]
},
'end': 'end'
}
json.dumps(dic)
#output:
#'{"sub_dic": {"sub_str": "this is sub str", "sub_list": [1, 2, 3]}, "end": "end", "list": [1, 2, "a", "b"], "str": "this is a string"}'

举个简单的例子就是:
import json

s = json.loads('{"name":"test", "type":{"name":"seq", "parameter":["1", "2"]}}')

print s

print s.keys()

print s["name"]

print s["type"]["name"]

print s["type"]["parameter"][1]
Y歌Y歌Y
2014-04-10
知道答主
回答量:23
采纳率:0%
帮助的人:7.9万
展开全部
楼主,json是给javascript使用的。如果是python后台放回到前台,那么在前台使用javascript解析使用就可以了。如果要用python解析json,如下:
先import json导入json模块,

然后加载json编码
如f是读取网页得到的json结构
加载:json_r=json.loads(f)

就可以向操作字典那样操作json_r了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
常山英豪
2014-04-10 · TA获得超过629个赞
知道小有建树答主
回答量:206
采纳率:100%
帮助的人:259万
展开全部

把这个数据存在一个text里。

{
    "statuses": [
        {
            "created_at": "Tue May 31 17:46:55 +0800 2011",
            "id": 11488058246,
            "text": "求关注。",
            "source": "<a href='http://weibo.com' rel='nofollow'>新浪微博</a>",
            "favorited": false,
            "truncated": false
}
]
}

然后用以下程序读取。

# -*- coding: utf-8 -*-
def main():
    import json
    file = open("2.txt","r")
    lines = []
    for line in file:
        lines.append(line.strip())
    str = "".join(lines)
    js = json.loads(str)
    print js.get("statuses")[0].get("text")
    
if __name__=="__main__":
    main()

即可得到结果。

求关注。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
twsxtd
2014-04-10 · TA获得超过379个赞
知道小有建树答主
回答量:175
采纳率:100%
帮助的人:151万
展开全部

首先,你的这个json格式有问题

其次,给你一个例子:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import json


jsonstring ='{"text": "hellworld", "__module__": "MyObj", "__class__": "__main__"} '


def main():
    data = json.loads(jsonstring)
    # 获取text内容
    print data['text']


if __name__ == '__main__':
    main()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bdwisyou7d
2014-04-10 · TA获得超过1.3万个赞
知道大有可为答主
回答量:3774
采纳率:81%
帮助的人:1090万
展开全部
直接调用json模块,然后用它的load方法,就可以变成一个字典。你可以按字典的方法访问每个值。

json模块是内置 的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式