首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有没有好的库可以用来解析经典ASP中的JSON?

有没有好的库可以用来解析经典ASP中的JSON?
EN

Stack Overflow用户
提问于 2009-06-19 17:53:01
回答 8查看 99.2K关注 0票数 77

我已经能够找到无数的用Classic ASP (VBScript)生成 JSON的库,但是我还没有找到任何用于解析的库。

我想要一些可以传递JSON字符串并返回某种类型的VBScript对象(数组、Scripting.Dictionary等)的东西。

有没有人能推荐一个用经典ASP解析JSON的库?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-06-20 15:28:54

请记住,Classic ASP不仅包括VBScript,还包括JScript。有趣的是,您可以使用JScript解析JSON,并直接在VBScript中使用生成的对象。

因此,可以在服务器端代码中零修改地使用规范的https://github.com/douglascrockford/JSON-js/blob/master/json2.js

当然,如果您的JSON包含任何数组,那么当解析完成时,这些数组仍然是JScript数组。您可以使用点符号从VBScript访问JScript数组的内容。

代码语言:javascript
复制
<%@Language="VBScript" %>
<%
Option Explicit
%>

<script language="JScript" runat="server" src='path/to/json2.js'></script>

<%

Dim myJSON
myJSON = Request.Form("myJSON") // "[ 1, 2, 3 ]"
Set myJSON = JSON.parse(myJSON) // [1,2,3]
Response.Write(myJSON)          // 1,2,3
Response.Write(myJSON.[0])      // 1
Response.Write(myJSON.[1])      // 2
Response.Write(myJSON.[2])      // 3
%>
票数 93
EN

Stack Overflow用户

发布于 2009-06-19 18:17:29

不是很确定。你检查过支持JSON的ASP extreme框架吗?

票数 16
EN

Stack Overflow用户

发布于 2010-06-08 22:44:19

我无法让极端进化论或克里斯尼尔森的建议起作用。但是,下面的方法对我来说是有效的:

http://tforster.wik.is/ASP_Classic_Practices_For_The_21st_Century/JSON4ASP

下载以下代码作为"json2.min.asp“

http://tforster.wik.is/@api/deki/files/2/=json2.min.asp

将以下行添加到ASP文件的顶部:

代码语言:javascript
复制
<script language="javascript" runat="server" src="json2.min.asp"></script>

然后,您可以在ASP中使用JSON。

代码语言:javascript
复制
   Dim car: Set car = JSON.parse("{""brand"":""subaru"",""model"":""outback sport"",""year"":2003," & _
                                 """colour"":""green"",""accessories"":[" & _
                                 "{""foglamps"":true},{""abs"":true},{""heatedSeats"":true}]}")

   Response.Write("brand: " & car.brand & "<br/>")                               
   Response.Write("model: " & car.model & "<br/>")                               
   Response.Write("colour: " & car.colour & "<br/>")                               
   Response.Write("has foglamps: " & CStr(car.accessories.get(0).foglamps) & "<br/>")                               

   car.accessories.get(0).foglamps = false
   Response.Write("has foglamps: " & CStr(car.accessories.get(0).foglamps) & "<br/>")                               
   Response.Write("new Json: " & JSON.stringify(car) & "<br/>")

   Set car = Nothing

注意:要解析项目数组,您需要执行以下操作:

代码语言:javascript
复制
   for each iTmp in testing
       if (TypeName(iTmp))<>"JScriptTypeInfo" then 
           Response.Write("Item: " &  iTmp & "<br/>")
       end if
   next
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1019223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档