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

yibin 2015-02-09 建站源码 744

  今天弄asp处理json对象,本来找了一个使用MSScriptControl.ScriptControl的例子,由于64位win7系统的原因,一直没有测试成功,不过只要是32位系统,应该没有问题。后来需要这个功能,考虑换系统的麻烦,最后换了一个写法:    这里介绍一条记录的json和多条记录的json的asp处理方法
    一条记录的json对象的处理方法: view sourceprint?01 <script language="jscript" runat="server">
    02 function getjson(str){
    03         try{
    04                 eval("var jsonStr = (" + str + ")");
    05         }catch(ex){
    06                 var jsonStr = null;
    07         }
    08         return jsonStr;
    09 }
    10 </script>
    11 <%
    12 set obj = getjson("{name:'anlige'}")
    13 response.write obj.name
    14 %>
    (鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助
    多条记录的Json对象的处理方法:
    view sourceprint?01 <script language="jscript" runat="server">
    02 Array.prototype.get = function(i)
    03 {
    04  return this[i];
    05 };
    06 function getjson(str){
    07  try{
    08   eval("var jsonStr = (" + str + ")");
    09  }catch(ex){
    10   var jsonStr = null;
    11  }
    12  return jsonStr;
    13 }
    14 </script>
    15 <%
    16 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""}]}"
    17 str=right(str,len(str)-instr(str,"[")+1)
    18 str=left(str,InstrRev(str,"]"))
    19 dim obj
    20 set obj = getjson(str)
    21 str0=""
    22 for i=0 to obj.length-1
    23  str0=str0&"ID="&obj.get(i)。productid&"<br>"
    24  str0=str0&"ProductName="&obj.get(i)。Productname&"<br>"
    25  str0=str0&"Price="&obj.get(i)。Price&"元<br>"
    26  str0=str0&"num="&obj.get(i)。num&"台<br>"
    27  str0=str0&"url="&obj.get(i)。url&"<br><br>"
    28 next
    29 response.write str0
    30
    31 %>

扫码添加微信

13013082126 扫描微信 建站咨询 优化咨询