1,JSP包含了JAVA代码模块和HTML模块,在这两个模块中都可以处理JSON字符串数据;
2,JAVA中处理JSON,
一般会引入第三方JAR包来处理,如常用的:
netsfjson-lib,
具体用法可自查;
3,
js中处理JSON,
则简单得多,可直接用JS自带的
JSONparse(jsonStr)
把json字符串转换为一个js对象,
就可以像对象一样 *** 作其中的数据了
给你一个大致的方案,具体想要实现的方法自己解决,不懂再问。
先要导入这两个包:
<script type="text/javascript" src="js/jqueryjs"></script>
<script type="text/javascript" src="js/jsonjs"></script>
<input type="button" value="使用Json请求去后台获取数据返回是json对象" onClick="toJson();">
function toJson()
{
/发出是json请求:返回的字符串是json对的字符串/
$getJSON("jsonViewServletfalg=2",null,function call(data){jsonResponse(data);});
}
我这里java代码是用servlet实现:
if ("2"equals(flag)) {
JSONObject resultJSON = new JSONObject();
try {
resultJSONput("sex", "男");
resultJSONput("age", "22");
resultJSONput("name", "张三");
Systemoutprintln(resultJSONtoString()); / {"sex":"男","name":"张三","age":"22"} /
} catch (Exception e) {
eprintStackTrace();
}
outprint(resultJSONtoString());
}
根据返回的字符串可以看出是多个json拼接成的js数组的形式。
如果返回的只是字符串须现将字符串转成js对象。
使用Jquery的$each()方法循环js数组取出每一个json对象的数据。
str = '[{"key":"value","keys":[{"key1":"value1","key2":"value2"},{"key1":"value3","key2":"value4"}],"obj":{"id":1,"msg":"success"}}]';str_json = eval("(" + str + ")");//将字符串转换成js对象
$each(str_json,fucntion(a,b){
alert(a);//d出数组的key
alert(bid);//d出要取出的数据
});
假如你这个json对象用变量j表示
用下面代码
var t='', k=jstudentjson;//得到数组k
for(var i=0;i<klength;i++){
var m=k[i];
t+=['<tr><td>'+m['学号'],m['姓名'],m['性别'],m['班级']+'</td></tr>']join('</td><td>');
}
t='<table><tbody>'+t+'</tbody></table>';
//得到表格html代码t
你json不对啊,a的值是字符串,不是数组,应该是
var json={
a:["aaaaa","bbbbb","ccccc"],
b:["11111","22222","33333"]
};
把单引号去掉才是数组呢。
然后就可以用jsona[1]访问bbbbb了
以上就是关于jsp怎样获取json字符串数据全部的内容,包括:jsp怎样获取json字符串数据、求助,怎么将JS获取的JSON数据赋值到HTML页面的label中、js解析json文件,获取数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)