首先,我是JSON的新手。我一直在阅读它。虽然我得到了这个概念,但实现它对我来说完全不同。
所以,我有一个应用程序,可以从JSON网页读取和显示数据。例如,我可以提取本网站显示的时间:http://date.jsontest.com/
使用本网站的HTML,我以下列方式将JSON对象添加到我的HTML页面:
<html>
<body>
<pre>
{
"score": "30-20"
}
</pre>
</body>
</html>
但是,每当我尝试检索分数时,应用程序现在都会抛出JSON异常。
我的问题是,&#39;是否在HTML页面中的pre标签中添加JSON对象是在网页上创建JSON对象的正确方法?&#39;
如果没有,这样做的正确方法是什么?
编辑:这是我在java中用来检索JSON数据的代码:
StringBuilder url = new StringBuilder(URL);
HttpGet get = new HttpGet(url.toString());
HttpResponse r = client.execute(get);
int status = r.getStatusLine().getStatusCode();
if(status==200){
HttpEntity e = r.getEntity();
String data = EntityUtils.toString(e);
//JSONArray timeline = new JSONArray(0);
JSONObject last = new JSONObject(data);
return last;
}
else{
Toast.makeText(this, "Error", Toast.LENGTH_SHORT).show();
return null;
}
try语句:
try {
json = lastTweet();
return json.getString("time");
//return "Oh Well";
}
感谢。
答案 0 :(得分:1)
您的应用程序应发送Content-type: application/json
标头,并且只应输出数据本身的字符串表示形式,以便您的整个页面只是:
{
"score": "30-20"
}
仅此而已。如果您检查响应标头并查看该页面的源代码,则您提供的example遵循相同的过程。
您的解析器失败的原因是,当第一个非空白字符应为<
时,页面以{
开头。
答案 1 :(得分:1)
使用类似的东西:
response.setContentType("application/json");
PrintWriter out = response.getWriter();
String json = "{\"data\": \"test\"}";
out.print(json);
out.flush();
数据服务器上的