第一个方法是使用 JScript :
<script language="jscript" runat="server"> Array.prototype.get = function(x) { return this[x]; }; function parseJSON(strjson) { return eval("(" + strjson + ")"); } </script> <% Dim json,obj json = "{a:""aaa"",b:{ name:""bb"",value:""text"" },c:[""item0"",""item1"",""item2""]}" Set obj = parseJSON(json) Response.Write obj.a & "<br />" Response.Write obj.b.name & "<br />" Response.Write obj.c.length & "<br />" Response.Write obj.c.get(0) & "<br />" Set obj = nothing %> <script language="JScript" runat="Server"> function ToObject(json) { var o; eval("o=" + json); return o; } </script> <% set obj1 = ToObject("{aaa:""aaaa"",bbb: ""bbbb""}") Response.Write obj1.aaa & "<br />" %>
第二个方法是使用MS的脚本控件(也一样是使用了 JScript):
Dim scriptCtrl Function parseJSON(str) If Not IsObject(scriptCtrl) Then Set scriptCtrl = Server.CreateObject("MSScriptControl.ScriptControl") scriptCtrl.Language = "JScript" scriptCtrl.AddCode "Array.prototype.get = function(x) { return this[x]; }; var result = null;" End If scriptCtrl.ExecuteStatement "result = " & str & ";" Set parseJSON = scriptCtrl.CodeObject.result End Function Dim json json = "{a:""aaa"",""item2""]}" Set obj = parseJSON(json) Response.Write obj.a & "<br />" Response.Write obj.b.name & "<br />" Response.Write obj.c.length & "<br />" Response.Write obj.c.get(0) & "<br />" Set obj = nothing Set scriptCtrl = nothing
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。