我只想读取 (-1) 值,这是网站上唯一的值,但我无法获取该值 任何伙伴都可以指导我如何做到这一点。当我将它粘贴到网络浏览器中时,我得到了 API url 的值,而 android 没有获取它。 API 链接如下。
我正在尝试的代码是:
private void getWebsite() {
new Thread(new Runnable() {
@Override
public void run() {
final StringBuilder builder = new StringBuilder();
try {
Document doc = Jsoup.connect("https://api.thingspeak.com/channels/411172/feeds.json?results=1").get();
String title = doc.title();
Elements links = doc.select("[pre]");
builder.append(title).append("\n");
for (Element link : links) {
builder.append("\n").append("Link : ").append(link.attr("pre"))
.append("\n").append("Text : ").append(link.text());
}
} catch (IOException e) {
builder.append("Error : ").append(e.getMessage()).append("\n");
}
runOnUiThread(new Runnable() {
@Override
public void run() {
result.setText(builder.toString());
}
});
}
}).start();
}
在浏览器中调用 Web API 的屏幕截图 我得到的错误是 Error: HTTP error fetching URL
最佳答案
我看到你的 API 的响应是 JSON 格式的,你必须按如下方式修改你的代码
private void getWebsite() {
new Thread(new Runnable() {
@Override
public void run() {
final StringBuilder builder = new StringBuilder();
try {
Document doc = Jsoup.connect("https://api.thingspeak.com/channels/411172/feeds.json?results=1")
.ignoreContentType(true)
.get();
String json = doc.body().text();
builder.append(json);
} catch (IOException e) {
builder.append("Error : ").append(e.getMessage()).append("\n");
}
runOnUiThread(new Runnable() {
@Override
public void run() {
result.setText(builder.toString());
}
});
}
}).start();
}
关于android - 如何从网站读取值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51867799/