我正在使用J2ee Web應用程序,並試圖通過它的url獲取網頁的代碼JSON,以便稍後解析它。我已經嘗試下面的代碼:如何獲取網頁的JSON代碼
package so4308554;
import java.io.BufferedReader;
import java.io.IOException;``
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.nio.charset.Charset;
import org.json.JSONException;
import org.json.JSONObject;
public class JsonReader {
private static String readAll(Reader rd) throws IOException {
StringBuilder sb = new StringBuilder();
int cp;
while ((cp = rd.read()) != -1) {
sb.append((char) cp);
}
return sb.toString();
}
public static JSONObject readJsonFromUrl(String url) throws IOException, JSONException {
InputStream is = new URL(url).openStream();
try {
BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
String jsonText = readAll(rd);
JSONObject json = new JSONObject(jsonText);
return json;
} finally {
is.close();
}
}
public static void main(String[] args) throws IOException, JSONException {
JSONObject json = readJsonFromUrl("https://graph.facebook.com/19292868552");
System.out.println(json.toString());
System.out.println(json.get("id"));
}
}
但是如果我把一個又一個我得到這個例外,它與給定的URL只能: 「一個JSONObject文本必須以‘{’人品1」 我想我不能得到JSON網頁的內容,如果它是由HTML編碼...任何想法可能是什麼原因???????我該如何解決我的問題?
錯誤顯示所有內容... JSON形式不正確..給出的URL不起作用 –
這沒有意義。嘗試將HTML解析爲JSON與嘗試使用C編譯器編譯Java程序是一回事。如果你想解析一些JSON,你應該定位一個返回JSON的URL,而不是HTML。 –
也許他想讓java程序連接到網站後臺或API並說出http,就好像它是一個瀏覽器,從而從後端接收一些JSON。 – Paul