有两种方法,一种是$ajax(option)方法,一种是$getJSON()方法。
实例:
<%@page contentType="text/plain; charset=UTF-8"
language="java"
import="javaio,javanet,javautil"
buffer="8kb"
session="false"
autoFlush="true"
%>
<%
String jsonData="{data:[{id:200901,name:'name1'},{id:200902,name:'name2'},{id:200903,name:'姓名3'},{id:200904,name:'姓名4'},{id:200905,name:'姓名5'}]}";
//outclear();
outwrite(jsonData);
%>
二、js处理页面
(1)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" "">
<html xmlns="">
<head>
<title>test</title>
<meta >
如果返回的只是字符串须现将字符串转成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出要取出的数据
});
方法1
<script language="jscript" runat="server">
var obj = eval("(" + json +")");
// 在此处处理obj 把它放到普通变量或字典对象中
</script>
<script language="vbscript" runat="server">
此处直接调用上述变量
</script>
方法2
复杂点,找一个能解析js 的 COM组件
sJSPath = sPrjPath & "web\js\jsonparserjs"
Set oFS = CreateObject("ScriptingFileSystemObject")
If oFSFileExists(sJSPath) Then
Set oFile = oFSOpenTextFile(sJSPath, 1, False, 0)
sJSText = oFileReadAll()
oFileClose
Set oFile = Nothing
End If
Set oHost = CreateObject("newObjectsScphostScpMan2")
With oHost
LoadEngine "JScript"
AddText sJSText
Run()
Set oDic = scriptgetDic(sJSON)
End With
Set oHost = Nothing
jsonparserjs
function getDic(s){
var obj = eval("(" + s + ")");
var dic = new ActiveXObject("newobjectsutilctlsVarDictionary");
with(dic){
allowUnnamedValues = true;
allowDuplicateNames = true;
可以在循环当中判断键名,结合正则表达式判断。
对于json数据,可以使用对象循环方法或者取键名方法,如:"Objectkeys","for of"等进行对象循环。
然后在循环当中判断键名称,如果名称以a开头就存入a组,以b开头就存入b组。
判断以a开头的正则表达式可以表示为:"/a\d/"。
以上就是关于如何通过js获取json数据,传到页面全部的内容,包括:如何通过js获取json数据,传到页面、js解析json文件,获取数据、post 给asp页面的json数据,asp里面怎么获取啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)