当前位置:asp编程网>技术教程>Asp教程>  正文

asp处理json对象中多条记录的数组的简单方法

2012-06-14 14:45:21   来源:www.aspbc.com    作者:wangsdong   浏览量:2961   收藏
今天弄asp处理json对象,本来找了一个使用MSScriptControl.ScriptControl的例子,由于64位win7系统的原因,一直没有测试成功,不过只要是32位系统,应该没有问题。后来需要这个功能,考虑换系统的麻烦,最后换了一个写法:
这里介绍一条记录的json和多条记录的json的asp处理方法
一条记录的json对象的处理方法:
<script language="jscript" runat="server">
function getjson(str){
        try{
                eval("var jsonStr = (" + str + ")");
        }catch(ex){
                var jsonStr = null;
        }
        return jsonStr;
}
</script>
<%
set obj = getjson("{name:'anlige'}")
response.write obj.name
%> 
(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)

 

多条记录的Json对象的处理方法:

<script language="jscript" runat="server">
Array.prototype.get = function(i)
{
 return this[i]; 
};
function getjson(str){
 try{
  eval("var jsonStr = (" + str + ")");
 }catch(ex){
  var jsonStr = null;
 }
 return jsonStr;
}
</script>
<%
str="{""postPrice"":[{""Productid"":1,""Productname"": ""手机"",""Price"":25.5,""num"": 1000,""url"":""http://www.baidu.com""},{""Productid"":2,""Productname"": ""相机"",""Price"":75,""num"": 2000,""url"":""http://www.aspbc.com""}]}"
str=right(str,len(str)-instr(str,"[")+1)
str=left(str,InstrRev(str,"]"))
dim obj
set obj = getjson(str)
str0=""
for i=0 to obj.length-1
 str0=str0&"ID="&obj.get(i).productid&"<br>" 
 str0=str0&"ProductName="&obj.get(i).Productname&"<br>"
 str0=str0&"Price="&obj.get(i).Price&"元<br>"
 str0=str0&"num="&obj.get(i).num&"台<br>"
 str0=str0&"url="&obj.get(i).url&"<br><br>"
next
response.write str0

%>
(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)


 



关于我们-广告合作-联系我们-积分规则-网站地图

Copyright(C)2013-2017版权所属asp编程网