请问下java中封装了json数据,在js中如何获取json数据来页面展示?

java中封装成jsons数据和js解析json数据已经知道怎么学习和弄了,但是两者如何衔接,也就是js如何获取json数据急需请教(如能详细点更好),谢谢!servle... java中封装成jsons数据和 js解析json数据已经知道怎么学习和弄了,但是两者如何衔接,也就是js如何获取json数据 急需 请教(如能详细点更好),谢谢!

servlet的代码如下:
List list =new ArrayList();
for(int i=0;i<3;i++){
User user =new User();
user.setUsername(i+"_张三");
user.setPassword(i+"_wwksQQQ");
list.add(user);
}
/* list.add("first");
list.add("second");*/
JSONArray jsonArray =JSONArray.fromObject(list);
System.out.println(jsonArray);
response.sendRedirect("/Test/index.jsp");

打印为:[{"password":"0_wwksQQQ","username":"0_张三"},{"password":"1_wwksQQQ","username":"1_张三"},{"password":"2_wwksQQQ","username":"2_张三"}]

那我的index.jsp 如何写?才能得到和 alert出 这json数据?
由于本人新手,比较“水”的提问和理解力,更惭愧了,在此谢谢诸位的耐心帮助!
展开
 我来答
cs6641468
2011-11-18 · TA获得超过5713个赞
知道大有可为答主
回答量:863
采纳率:100%
帮助的人:990万
展开全部
你用的是response.sendRedirect执行的跳转(不是foward),那么如果你这个index.jsp和你的java文件在一个project项目里的(术语叫同一个域内)。
1.用session来存储java里的json,无论是json object还是String格式的json. 用setAttribute方法放到Session里面,然偶跳转到index,jsp

2.在jsp里同样用session.getattribute获得这个json数据,放到表单的某个位置,比如说放到文本框内,作为文本框的value.

3.jsp里面的js代码,getElementById或者这个文本框的value,然后alert出来
追问
你这方法感觉可以(让人亲切啊),jsp如何传这个value 啊?能详细讲述下就谢谢了。
eval早有耳闻,也是没用过见过相类似这样代码。 --不好意思
追答
List list = new ArrayList();
for(int i=0;i

function show()
{
var jsonarray = document.getElementById("json").value;
alert(jsonarray);
}

>

哎呀王子
2011-11-18 · TA获得超过646个赞
知道小有建树答主
回答量:195
采纳率:100%
帮助的人:119万
展开全部
在服务器那边,返回一个JSON格式的字符串,如——
a、"{\"name\":\"dd\",\"age\":\"12\"}";
b、"[{\"name\":\"dd\",\"age\":\"12\"},{\"name\":\"kk\",\"age\":\"20\"}]";

var message = eval('(' + 返回的json格式参数+ ')');

如果你的JSON格式是如上面a那种,那可以这样获取数据——
message.name、message.age

如果是b那种,可以这样——
message[0].name、message[1].age

eval()函数用于解析json数据,你可以百度查一下具体用法。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
IT锦囊
2011-11-18 · TA获得超过441个赞
知道小有建树答主
回答量:1333
采纳率:0%
帮助的人:696万
展开全部
图显IP:
把下面的代码复制到你的html的head里就可以运行,然后你就知道应该如何实现了
<script>
var str = '[{"password":"0_wwksQQQ","username":"0_张三"},{"password":"1_wwksQQQ","username":"1_张三"},{"password":"2_wwksQQQ","username":"2_张三"}]';
var arr = eval(str);
for(var i=0;i<arr.length;i++){
alert(arr[i].password);
}
</script>
追问
不要复制啊,我想传参到js中。
如果这样的数据复杂了,可以讲下 简单的。
只要是 java封装的json数据传到 js中就行了

参考资料: 老k博客

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
社伶晨
2011-11-18 · TA获得超过247个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:181万
展开全部
ajax,回调函数接收json字符串,js里面用var list = eval(json字符串)就可以将json转换成js对象。
struts和struts2都支持方法返回字符串,在写对应的方法时声明返回类型是String型而不是正常的ActionForward。
追问
可以不用ajax吗? 我只想就像传参那样就 能拿到,不要刷新啊。
另 eval(json字符串)可以详细点吗?eval什么字符串? ----谢谢!
追答
ajax就是不刷新页面的,你要是觉得写ajax比较麻烦,可以用jquery或者ext什么的,对ajax都有很好的封装,而且浏览器兼容也不是问题。
eval()方法,需要传入一个字符串参数,如果这个字符串符合json格式,那么可以将字符串转换成js对象,按照你给的字符串,那么var list就是一个长度为3的对象数组。
建议你百度学习一下ajax。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式