我正在尝试使用gson将此返回的JSON转换为某种数据结构,以便我可以提取有用的数据.
例如:
http://search.twitter.com/search.json?q=test&rpp=1
返回:
{
"completed_in":0.028,
"max_id":196386333906837504,
"max_id_str":"196386333906837504",
"next_page":"?page=2&max_id=196386333906837504&q=test&rpp=1",
"page":1,
"query":"test",
"refresh_url":"?since_id=196386333906837504&q=test",
"results":[
{
"created_at":"Sat, 28 Apr 2012 23:52:05 +0000",
"from_user":"della_ky",
"from_user_id":525641596,
"from_user_id_str":"525641596",
"from_user_name":"kydella modeste",
"geo":null,
"id":196386333906837504,
"id_str":"196386333906837504",
"iso_language_code":"en",
"metadata":{
"result_type":"recent"
},
"profile_image_url":"http:\/\/a0.twimg.com\/profile_images\/2159990525\/webcam-toy-photo3_20_2__normal.jpg",
"profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/2159990525\/webcam-toy-photo3_20_2__normal.jpg",
"source":"<a href="http:\/\/mobile.twitter.com" rel="nofollow">Mobile Web<\/a>",
"text":"RT @Y__U__NOOO: #SongsIKnowOffByHeart ALL SONGS I LISTEN TO. BRAIN, Y U NO REMEMBER TEST ANSWERS LIKE THAT?!?",
"to_user":null,
"to_user_id":null,
"to_user_id_str":null,
"to_user_name":null
}
],
"results_per_page":1,
"since_id":0,
"since_id_str":"0"
}
Run Code Online (Sandbox Code Playgroud)
最后,我希望能够输出一个推文列表,其中包含发件人的姓名和推文的日期/时间.
我已经阅读了gson文档,但说实话 - 我有很多新概念.
我是否需要定义一个完全映射到JSON结构的类,然后填充该类的实例?如果是这样,这似乎非常不灵活/费力.理想情况下,我正在寻找能够以任何形式处理JSON的东西,并给我一个我可以自动使用的结构......
有人能给我一些指示吗?对此更新 - 更详细和最少音节的文字越多越好!
更新 - 感谢我已经对此做出的回应,我已经开始将一个类放在一起来捕获twitter JSON.但是,由于JSON有一个嵌入的对象ArrayList,我有点挣扎......到目前为止,我有
public class tweetData …Run Code Online (Sandbox Code Playgroud) 我是Python的新手(截至半小时前),并尝试编写一个简单的脚本来枚举SMTP服务器上的用户.
用户文件是一个简单的列表(每行一个)用户名.
脚本运行正常,但循环的每次迭代都会减慢,直到第14循环,它似乎完全挂起.没有错误 - 我必须^ c.
有人能解决这个问题吗?
TIA,汤姆
#!/usr/bin/python
import socket
import sys
if len(sys.argv) != 2:
print "Usage: vrfy.py <username file>"
sys.exit(0)
#open user file
file=open(sys.argv[1], 'r')
users=[x.strip() for x in file.readlines()]
file.close
#Just for debugging
print users
# Create a Socket
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Connect to the Server
connect=s.connect(('192.168.13.222',25))
for x in users:
# VRFY a user
s.send('VRFY ' + x + '\r\n')
result=s.recv(1024)
print result
# Close the socket
s.close()
Run Code Online (Sandbox Code Playgroud)