我正在处理雅虎新闻Feed数据,我希望我的输出采用JSON格式。我在这里使用" rss news feed api "获取雅虎新闻数据。因此,默认情况下,RSS提要的输出将采用XML格式,但我希望输出为JSON格式。
这是我正在处理的代码。
import java.net.URL;
import java.io.*;
import javax.net.ssl.HttpsURLConnection;
//import java.net.HttpURLConnection;
public class JavaHttpsExample {
public static void main(String[] args) throws Exception {
String httpsURL = "http://news.yahoo.com/rss/us";
URL myurl = new URL(null, httpsURL, new sun.net.www.protocol.https.Handler());
HttpsURLConnection con = (HttpsURLConnection) myurl.openConnection();
InputStream ins = con.getInputStream();
InputStreamReader isr = new InputStreamReader(ins);
BufferedReader in = new BufferedReader(isr);
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
}
in.close();
} }
我还在url中添加了format = json以将输出作为JSON。但是我做到这一点并没有成功。
http://news.yahoo.com/rss/us?format=json
我尝试了很多方法,这反过来导致了失败。任何人都可以帮助我获得JSON输出。
答案 0 :(得分:0)
我认为你想要输出= json而不是format = json 从这里得到https://developer.yahoo.com/javascript/json.html#output
!纠错! 实际上RSS是xml,所以我不认为你可以直接。您可以使用实际的yahoo api调用而不是使用RSS提要来尝试。 我确实找到了要转换的东西,但我不能说它的质量 http://ejohn.org/projects/rss2json/
答案 1 :(得分:0)
我通过将获得的XML输出转换为JSON来获得JSON输出。这是我遵循的程序
String inputLine = null;
try {
while ((inputLine = in.readLine()) != null) {
newline+=inputLine;
}
} catch(Exception e){}
finally{System.out.println("*********XML_OUTPUT********"+newline);}
try {
String newline = "";JSONObject xmlJSONObj = XML.toJSONObject(newline);
String Json = xmlJSONObj.toString();
System.out.println("JSON OUTPUT : "+Json);
} catch (JSONException je) {
System.out.println(je.toString());
}
in.close();