【发布时间】:2012-09-10 14:30:16
【问题描述】:
我正在尝试从一个显示网站信息的应用开始我的 Android 应用之旅。该网站来自一个电力通风系统,它可以帮助我监测我在吸烟者身上长时间烹饪的火和肉块的温度。
JSON 页面位于我本地网络上的http://192.168.101.101/stoker.json,数据如下所示:
{
"stoker": {
"sensors": [
{
"id": "620000116F01CA30",
"name": "SS2",
"al": 0,
"ta": 66,
"th": 75,
"tl": 65,
"tc": 69.1,
"blower": null
},
{
"id": "E20000116F0CDB30",
"name": "brskt2",
"al": 0,
"ta": 203,
"th": 32,
"tl": 32,
"tc": 71.7,
"blower": null
}
我尝试使用的代码一直失败,因此我在流程的第一步中添加了一个日志,以查看发现了什么。代码如下:
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://192.168.101.101/stoker.json");
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
InputStream webs = entity.getContent();
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(webs,"iso-8859-1"),4);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
webs.close();
result=sb.toString();
Log.i("log_tag", result);
这是调试期间的日志结果:
09-10 08:44:58.375: I/log_tag(748): <body>
09-10 08:44:58.375: I/log_tag(748): <h1>415 Unsupported Type</h1>
09-10 08:44:58.375: I/log_tag(748): </body>
我认为读取 JSON 信息会非常简单,但显然不是。我在这里错过了什么?
此时我只想在手机上显示信息,仅此而已。以后我想向应用程序添加更多功能,例如将更改发布回 JSON 站点和本地警报,但不是现在。
【问题讨论】:
-
stoker.json 是静态文件吗?不是从 PHP 或任何框架/工具/等生成的?
-
我建议你使用谷歌的 gson。更简单更好的例子。
-
检查您的服务器日志,看看是什么原因造成的。它的服务器问题。结果字符串不是有效的 json 字符串
标签: java android json http-status-code-415