【发布时间】:2017-05-27 04:08:00
【问题描述】:
我创建了从 url 加载 JSON 文件的 java 程序,我每 20 秒将 json 对象推送到这个 url 我希望程序在此处更新的 JSON 文件是我的 java 代码时发出通知
package com.company;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.*;
import java.net.URL;
import java.nio.charset.Charset;
public class Main {
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 JSONArray 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);
JSONArray jsonArray = new JSONArray(jsonText);
return jsonArray;
} finally {
is.close();
}
}
public static void main(String[] args) throws IOException, JSONException {
JSONArray json = readJsonFromUrl("http://frozen-brook-16337.herokuapp.com/history.json");
for(int i=0;i<json.length();i++){
JSONObject jo=json.getJSONObject(i);
System.out.println(jo.get("data"));
}
}
}
如何让java程序监听JSON文件更新?
【问题讨论】:
-
你有什么问题?
-
我已经更新了问题
-
我没有看到您的代码更改了任何文件?您的代码只是读取数据并打印出来
-
是的,JSON文件是使用nodejs而不是java更新的,所以java程序只需要在JSON文件更新时发出通知
标签: java json node.js push-notification