Java 我点击一个twitter api url来获取json数据,但没有得到我想要的数据,如何修复它?

Java 我点击一个twitter api url来获取json数据,但没有得到我想要的数据,如何修复它?,java,json,twitter,Java,Json,Twitter,我得到的回应是这样的 //my code looks like this. import oauth.signpost.OAuthConsumer; import oauth.signpost.commonshttp.CommonsHttpOAuthConsumer; import org.apache.commons.io.IOUtils; import org.apache.http.HttpResponse; import org.apache.http.client.HttpCli

我得到的回应是这样的

//my code looks like this.

import oauth.signpost.OAuthConsumer;
import oauth.signpost.commonshttp.CommonsHttpOAuthConsumer;  
import org.apache.commons.io.IOUtils;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONObject;

        public class TwitterFeeds {        
                static String AccessToken = "xxxx";
                static String AccessSecret = "xxxx";
                static String ConsumerKey = "xxxx";
                static String ConsumerSecret = "xxxx";
        //getting json data from twitter api
                public static void main(String[] args) throws Exception {

                    OAuthConsumer consumer = new CommonsHttpOAuthConsumer(ConsumerKey, ConsumerSecret);
                    consumer.setTokenWithSecret(AccessToken, AccessSecret);

                HttpGet request = new HttpGet("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=mehral_mohit&count=2"); 

                    consumer.sign(request);
                    HttpClient client = new DefaultHttpClient();
                    HttpResponse response = client.execute(request);
                    JSONObject obj = new JSONObject(response);
                    System.out.println(obj.toString());
                }
        }

我正在寻找的数据是用户发送的tweet,但我得到的数据是响应状态,提前感谢

您实际上并没有读取服务器的响应,而是让您的JSON库序列化连接状态。通过了解每个类的用途和功能,阅读您正在使用的库的目录可以帮助您避免此类问题

您需要使用以下代码来读取实际的服务器响应,并最终获得一个字符串以供JSON库解析:

    {"statusLine":{"reasonPhrase":"OK","protocolVersion":{"protocol":"HTTP","major":1,"minor":1},"statusCode":200},"allHeaders":[{"valuePos":14,"elements":[{"parameterCount":0,"name":"no-cache","parameters":[]},{"parameterCount":0,"name":"no-store","parameters":[]},{"parameterCount":0,"name":"must-revalidate","parameters":[]},{"parameterCount":0,"name":"pre-check","value":"0","parameters":[]},{"parameterCount":0,"name":"post-check","value":"0","parameters":[]}],"name":"cache-control","buffer":{"empty":false,"full":false},"value":"no-cache, no-store, must-revalidate, pre-check=0, post-check=0"},{"valuePos":20,"elements":[{"parameterCount":1,"name":"attachment","parameters":[{"name":"filename","value":"json.json"}]}],"name":"content-disposition","buffer":{"empty":false,"full":false},"value":"attachment; filename=json.json"},{"valuePos":15,"elements":[{"parameterCount":0,"name":"7037","parameters":[]}],"name":"content-length","buffer":{"empty":false,"full":false},"value":"7037"},{"valuePos":13,"elements":[{"parameterCount":1,"name":"application/json","parameters":[{"name":"charset","value":"utf-8"}]}],"name":"content-type","buffer":{"empty":false,"full":false},"value":"application/json;charset=utf-8"},{"valuePos":5,"elements":[{"parameterCount":0,"name":"Wed","parameters":[]},{"parameterCount":0,"name":"27 Apr 2016 17:27:40 GMT","parameters":[]}],"name":"date","buffer":{"empty":false,"full":false},"value":"Wed, 27 Apr 2016 17:27:40 GMT"},{"valuePos":8,"elements":[{"parameterCount":0,"name":"Tue","parameters":[]},{"parameterCount":0,"name":"31 Mar 1981 05:00:00 GMT","parameters":[]}],"name":"expires","buffer":{"empty":false,"full":false},"value":"Tue, 31 Mar 1981 05:00:00 GMT"},{"valuePos":14,"elements":[{"parameterCount":0,"name":"Wed","parameters":[]},{"parameterCount":0,"name":"27 Apr 2016 17:27:40 GMT","parameters":[]}],"name":"last-modified","buffer":{"empty":false,"full":false},"value":"Wed, 27 Apr 2016 17:27:40 GMT"},{"valuePos":7,"elements":[{"parameterCount":0,"name":"no-cache","parameters":[]}],"name":"pragma","buffer":{"empty":false,"full":false},"value":"no-cache"},{"valuePos":7,"elements":[{"parameterCount":0,"name":"tsa_a","parameters":[]}],"name":"server","buffer":{"empty":false,"full":false},"value":"tsa_a"},{"valuePos":11,"elements":[{"parameterCount":1,"name":"lang","value":"en","parameters":[{"name":"Path","value":"/"}]}],"name":"set-cookie","buffer":{"empty":false,"full":false},"value":"lang=en; Path=/"},{"valuePos":11,"elements":[{"parameterCount":3,"name":"guest_id","value":"v1%3A146177806078426763","parameters":[{"name":"Domain","value":".twitter.com"},{"name":"Path","value":"/"},{"name":"Expires","value":"Fri"}]},{"parameterCount":0,"name":"27-Apr-2018 17:27:40 UTC","parameters":[]}],"name":"set-cookie","buffer":{"empty":false,"full":false},"value":"guest_id=v1%3A146177806078426763; Domain=.twitter.com; Path=/; Expires=Fri, 27-Apr-2018 17:27:40 UTC"},{"valuePos":7,"elements":[{"parameterCount":0,"name":"200 OK","parameters":[]}],"name":"status","buffer":{"empty":false,"full":false},"value":"200 OK"},{"valuePos":26,"elements":[{"parameterCount":0,"name":"max-age","value":"631138519","parameters":[]}],"name":"strict-transport-security","buffer":{"empty":false,"full":false},"value":"max-age=631138519"},{"valuePos":15,"elements":[{"parameterCount":0,"name":"read-write","parameters":[]}],"name":"x-access-level","buffer":{"empty":false,"full":false},"value":"read-write"},{"valuePos":18,"elements":[{"parameterCount":0,"name":"3454ef82d8d78c83570609a400be310e","parameters":[]}],"name":"x-connection-hash","buffer":{"empty":false,"full":false},"value":"3454ef82d8d78c83570609a400be310e"},{"valuePos":23,"elements":[{"parameterCount":0,"name":"nosniff","parameters":[]}],"name":"x-content-type-options","buffer":{"empty":false,"full":false},"value":"nosniff"},{"valuePos":16,"elements":[{"parameterCount":0,"name":"SAMEORIGIN","parameters":[]}],"name":"x-frame-options","buffer":{"empty":false,"full":false},"value":"SAMEORIGIN"},{"valuePos":19,"elements":[{"parameterCount":0,"name":"180","parameters":[]}],"name":"x-rate-limit-limit","buffer":{"empty":false,"full":false},"value":"180"},{"valuePos":23,"elements":[{"parameterCount":0,"name":"179","parameters":[]}],"name":"x-rate-limit-remaining","buffer":{"empty":false,"full":false},"value":"179"},{"valuePos":19,"elements":[{"parameterCount":0,"name":"1461778960","parameters":[]}],"name":"x-rate-limit-reset","buffer":{"empty":false,"full":false},"value":"1461778960"},{"valuePos":16,"elements":[{"parameterCount":0,"name":"48","parameters":[]}],"name":"x-response-time","buffer":{"empty":false,"full":false},"value":"48"},{"valuePos":14,"elements":[{"parameterCount":0,"name":"d4ec12da2dc12a43","parameters":[]}],"name":"x-transaction","buffer":{"empty":false,"full":false},"value":"d4ec12da2dc12a43"},{"valuePos":24,"elements":[{"parameterCount":0,"name":"BouncerCompliant","parameters":[]}],"name":"x-twitter-response-tags","buffer":{"empty":false,"full":false},"value":"BouncerCompliant"},{"valuePos":17,"elements":[{"parameterCount":1,"name":"1","parameters":[{"name":"mode","value":"block"}]}],"name":"x-xss-protection","buffer":{"empty":false,"full":false},"value":"1; mode=block"}],"protocolVersion":{"protocol":"HTTP","major":1,"minor":1},"locale":"en_US","params":{"clientParams":{},"requestParams":{}},"entity":{"streaming":true,"repeatable":false,"chunked":false,"contentLength":7037,"contentType":{"valuePos":13,"elements":[{"parameterCount":1,"name":"application/json","parameters":[{"name":"charset","value":"utf-8"}]}],"name":"content-type","buffer":{"empty":false,"full":false},"value":"application/json;charset=utf-8"},"content":{}}}

当我执行obj.toString();,我在json对象中没有得到任何东西,现在得到了{}@MohitMehral修正了我答案中的一个错误。请使用新版本(实际将字节数组转换为字符串进行解析)重试,但我的json对象的长度为0@hexafraction@MohitMehral
新字符串(respData)
的内容是什么?我将bytearray转换为字符串,但在jsonObject中存储该字符串时,在试图打印这个jsonObject时,我在线程“main”org.json.JSONException中得到一个异常错误:一个jsonObject文本必须在org.json.JSONTokener.syntaxError(JSONTokener.java:433)org.json.jsonObject(jsonObject.java:188)org.json.jsonObject(jsonObject.java:314)中以“{”开头
byte[] respData = EntityUtils.toByteArray(response.getEntity());
JSONArray arr = new JSONArray(new String(respData));