2013-04-25 68 views
0

我想下面的代码从网上下载。这是关于阅读谷歌搜索页面的总搜索结果。创建一个JSON响应的类

import com.google.gson.Gson; 
import java.awt.Desktop; 
import java.io.File; 
import java.io.IOException; 
import java.io.InputStreamReader; 
import java.io.Reader; 
import java.net.URL; 
import java.net.URLEncoder; 


    public class Test { 

     public static void main(String[] args) throws Exception { 
      String google = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q="; 
      String search = "my"; 
      String charset = "UTF-8"; 

      URL url = new URL(google + URLEncoder.encode(search, charset)); 
      System.out.println(google + URLEncoder.encode(search, charset)); 
      Reader reader = new InputStreamReader(url.openStream(), charset); 
      GoogleResults results = new Gson().fromJson(reader, GoogleResults.class); 


      System.out.println(results.getResponseData().getResults().size()); 

     } 
    } 

搜索结果是

"queries": { 
    "nextPage": [ 
    { 
    "title": "Google Custom Search - flowers", 
    "totalResults": 10300000, 
    "searchTerms": "flowers", 
    "count": 10, 
    "startIndex": 11, 
    "inputEncoding": "utf8", 
    "outputEncoding": "utf8", 
    "cx": "013036536707430787589:_pqjad5hr1a" 
    } 
    ], 

我想创建类`GoogleResults'上面响应

+2

你应该发布错误。 – Stephan 2013-04-25 15:21:11

+0

未找到GoogleResults.class。 GoogleResults类的内容应该是什么 – user2302288 2013-04-25 15:22:27

+1

你从哪里得到这段代码? GoogleResults不在[com.google.gson.Gson]包中(http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/index.html) – Erich 2013-04-25 15:27:34

回答

2

的问题是,你指的是GoogleResults类不合格的名称不导入它。

请使用完全限定的名称或导入它。我会张贴一个例子,但我不确定课程在哪里。

编辑:通过搜索您发布的代码,我发现一个complete example。事实证明,GoogleResults不是标准的库类,它是一个你期望自己定义的类。

class GoogleResults{ 

    private ResponseData responseData; 
    public ResponseData getResponseData() { return responseData; } 
    public void setResponseData(ResponseData responseData) { this.responseData = responseData; } 
    public String toString() { return "ResponseData[" + responseData + "]"; } 

    static class ResponseData { 
     private List<Result> results; 
     public List<Result> getResults() { return results; } 
     public void setResults(List<Result> results) { this.results = results; } 
     public String toString() { return "Results[" + results + "]"; } 
    } 

    static class Result { 
     private String url; 
     private String title; 
     public String getUrl() { return url; } 
     public String getTitle() { return title; } 
     public void setUrl(String url) { this.url = url; } 
     public void setTitle(String title) { this.title = title; } 
     public String toString() { return "Result[url:" + url +",title:" + title + "]"; } 
    } 
} 
+0

感谢您的回复。在此我只想找到totalResults – user2302288 2013-04-25 15:44:47

相关问题