0

我有一个 Spring@Controller正在使用现有的ArrayList并创建一个 JSON 信封。当我在 Spring 控制台中显示 JSON 信封时,我看到我想要的数据在那里。当我在 Firefox 的 FireBug 中查看相同的 JSON 信封时,我也看到了我想要的数据。

我正在尝试使用 JavaScript 在 jsp 页面上显示信封,但我真的不知道如何开始。

在代码的其他模块中,有一些区域是从数据库中获取信息,使用 YUI2 将其与 DataTable 一起显示。它还使用 JSON 信封,并且可以正常工作。我正在尝试复制它以在 JSP 页面上仅显示 JSON 文本字符串。我不知道我是否需要使用 YUI2,或者我是否可以使用 JavaScript 来访问 JSON 信封。

我是 Java 和 JSON 以及 Spring 环境的新手,所以我什至不知道使用哪种 JavaScript 语法来访问 JSON 信封,更不用说显示它了。我一直在谷歌搜索以找到答案,但到目前为止,大部分都在我的脑海中。

我会很感激任何帮助。谢谢。

4

2 回答 2

0

你的问题很不清楚。

如果您只是想显示 JSON 的文本,那么您根本不需要使用 javascript。只需用于<c:out>将 JSON 字符串输出到纯 HTML 页面的相关部分。

如果您想在客户端生成动态 HTML,您将使用 Javascript。那时您可能希望 Javascript 使用 XMLHttpRequest 对象来调用服务器以请求 JSON。然后,Javascript 将负责动态地将 JSON 响应转换为可以显示的内容……您肯定需要一个客户端 JS 框架来帮助解决这个问题。

于 2013-04-09T17:27:57.157 回答
0

要解析检索到的 JSON,您可以使用jQuery 的$each方法

var obj = {
 "Name": "Robert",
 "Counrty": "USA",
 "Address" : {"Apartment":"111","City":"Atlanta","State":"GA","Zip":"30005" }
 };

$.each( obj, function( key, value ) {
 alert( key + ": " + value );

if(typeof(value)=="object")
{
    $.each( value, function( key, value ) {
          alert( key + ": " + value );
        });
 }
});

如果您有更复杂的 JSON,那么您必须为每个复杂类型重复 $each,就像我为 Address 所做的那样。

然后您可以使用 Key 值从 JSON 对象中获取数据。

工作示例

于 2013-04-09T18:03:27.613 回答