2013-03-07 53 views
0

我想知道是否可以使用Java JSON框架(如Jackson,Google GSON或JSON.simple)從不同服務器讀取JSON。Java JSON解析器可以訪問遠程服務嗎?

我有一個Web服務服務器,我想命中以接收JSON,然後將該JSON轉換爲Java對象。目前,我知道如何做到這一點的唯一方法是使用jQuery命中服務器,獲取JSON並將其發佈到Java實用程序。這將是一個很好的捷徑來有效地「捲曲」另一臺服務器,這樣我就可以消除一個Ajax調用。

我只看到這些框架的本地文件示例。

+0

爲什麼解析器需要這樣做?它只是一個解析器。以其他方式檢索要解析的字符串,例如使用['URL'](http://docs.oracle.com/javase/6/docs/api/java/net/URL.html)。例如.. – Esailija 2013-03-07 22:01:58

+0

The解析器不需要做任何事情,但是如果它讀出一個文件,它可以讀出一個url並消除一個步驟。我沒有說爲什麼不這樣做?這應該。我問是否這樣做,因爲如果這是一個功能,那麼當你可以使用解析器時,首先使用URL確實是愚蠢的。 – PixMach 2013-03-08 01:50:53

回答

1

此代碼片段將指定網址上的任何內容下載到字符串result。然後您可以使用常用的JSON解析器處理字符串。

URL url = new URL("http://the.address.i.want"); 
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); 
String inputLine, result = ""; 
while ((inputLine = in.readLine()) != null) { 
    // System.out.println(inputLine); 
    result += inputLine + "\n"; 
} 
in.close(); 
+0

偉大的解決方案,我沒有想到這一點。仍然有興趣看看這些框架是否支持遠程閱讀。 – PixMach 2013-03-07 22:29:56