JSON:使用JSON数据创建一个网页

时间:2014-04-08 18:31:42

标签: java html json parsing

首先,我是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";
        } 

感谢。

2 个答案:

答案 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();
数据服务器上的