post 给asp页面的json数据,asp里面怎么获取啊?
传统post过来的数据,比如id=1&name=test什么的很好获取比如用request("id")就可以得到现在post过来的是json格式的数据,比如[{"id":...
传统post过来的数据,比如id=1&name=test 什么的很好获取比如用request("id")就可以得到现在post过来的是json格式的数据,比如[{"id": "1","Name": "test88"},{"id": "2","Name": "test99"}]asp页面如何获得这些数据呢?
展开
2个回答
展开全部
方法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\jsonparser.js"
Set oFS = CreateObject("Scripting.FileSystemObject")
If oFS.FileExists(sJSPath) Then
Set oFile = oFS.OpenTextFile(sJSPath, 1, False, 0)
sJSText = oFile.ReadAll()
oFile.Close
Set oFile = Nothing
End If
Set oHost = CreateObject("newObjects.Scphost.ScpMan2")
With oHost
.LoadEngine "JScript"
.AddText sJSText
.Run()
Set oDic = .script.getDic(sJSON)
End With
Set oHost = Nothing
jsonparser.js
function getDic(s){
var obj = eval("(" + s + ")");
var dic = new ActiveXObject("newobjects.utilctls.VarDictionary");
with(dic){
allowUnnamedValues = true;
allowDuplicateNames = true;
<script language="jscript" runat="server">
var obj = eval("(" + json +")");
// 在此处处理obj 把它放到普通变量或字典对象中
</script>
<script language="vbscript" runat="server">
此处直接调用上述变量
</script>
方法2
复杂点,找一个能解析js 的 COM组件
sJSPath = sPrjPath & "web\js\jsonparser.js"
Set oFS = CreateObject("Scripting.FileSystemObject")
If oFS.FileExists(sJSPath) Then
Set oFile = oFS.OpenTextFile(sJSPath, 1, False, 0)
sJSText = oFile.ReadAll()
oFile.Close
Set oFile = Nothing
End If
Set oHost = CreateObject("newObjects.Scphost.ScpMan2")
With oHost
.LoadEngine "JScript"
.AddText sJSText
.Run()
Set oDic = .script.getDic(sJSON)
End With
Set oHost = Nothing
jsonparser.js
function getDic(s){
var obj = eval("(" + s + ")");
var dic = new ActiveXObject("newobjects.utilctls.VarDictionary");
with(dic){
allowUnnamedValues = true;
allowDuplicateNames = true;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询