您的位置:首页 > 数据库 > Mongodb

按照Json格式读取Mongodb中数据

2012-12-07 14:16 295 查看
Mongodb中的数据如何读

其实我主要是不清楚嵌套方式的读取

DBObject temp = cur.next();
读取出来的命令首先是DBObject格式

通过命令:

JSONObject tweettemp = new JSONObject(JSON.serialize(temp));
转换为JSON格式。

如果这个Json中还有Json格式:

JSONObject tweet = tweettemp.getJSONObject("tweet");
通过这个命令来读取Json中的Json数据

之后

String time = (String)str.get("time");
String fullname = (String)str.get("fullname");
String tweet2 = (String)str.get("tweet");


可以通过下面的命令读取每个json中的变量。

总的程序:

public void CheckTwitter() throws Exception {

BasicDBObject c3 = new BasicDBObject();
BasicDBObject c1 = new BasicDBObject();
c1.put("name","MittRomney");
c3.put("time", "1");
//BasicDBObject c3 = new BasicDBObject("time",1);
DBCursor cur = collection.find(c1);
File ftweet = new File("E:/Matlab/bin/tweet.txt");
Writer out23 = new FileWriter(ftweet);

while(cur.hasNext()) {

DBObject temp = cur.next();
JSONObject tweettemp = new JSONObject(JSON.serialize(temp));
//tweettemp.
JSONObject tweet = tweettemp.getJSONObject("tweet");
//System.out.println(tweet);
int n = tweet.length();
for (int i=1;i<n+1;i++){

String tempnumber = String.valueOf(i);
JSONObject str = tweet.getJSONObject(tempnumber);
String time = (String)str.get("time"); String fullname = (String)str.get("fullname"); String tweet2 = (String)str.get("tweet");

this.countretweet(fullname);
this.countdaytweet(time);
this.countyuetweet(time);
//this.writetweet(tweet2);
out23.write(tweet2);
out23.write("\r\n");
//System.out.println(time);
//System.out.println(fullname);
//System.out.println(tweet2);
}
//System.out.println(countname);

for (int j=0;j<24;j++){
//System.out.println(countdaytweet[j]);
}
for (int j=0;j<62;j++){
//System.out.println(countyuetweet[j]);
}
out23.close();
//String json = temp.toString();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: