首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在IIS服务器端使用JSON (.parse() / .stringify() )

如何在IIS服务器端使用JSON (.parse() / .stringify() )
EN

Stack Overflow用户
提问于 2013-12-09 23:45:39
回答 2查看 3.7K关注 0票数 1

实际上我所有的服务器访问都是通过AJAX..。我的服务器端文件打开到我的sql-server数据库的连接,或者写入或读取当前表。

我将我的数据作为JSON字符串保存在我的sql-server表中。例如:

代码语言:javascript
运行
复制
[ {"score":"game","bet":"20"},
  {"score":0,"bet":"10"},
  {"score":1,"bet":"11"},
  {"score":2,"bet":"12"},
  {"score":3,"bet":"13"},
  {"score":4,"bet":"14"},
  {"score":5,"bet":"15"},
  {"score":6,"bet":"16"},
  {"score":7,"bet":"17"},
  {"score":8,"bet":"18"},
  {"score":9,"bet":"19"}
]

我发现我需要在服务器上进行一些验证和验证。理想情况下,我希望将该字符串从表中取出,将其转换为JSON (通过JSON.Parse() )执行验证/验证,然后根据结果将响应返回给客户端。

我看过Node.js,但我并不能将整个服务器从IIS移动到Node.js。理想情况下,我希望能够在我的标准ASP页面中处理javascript。

*********** * 2013年12月12日星期五

下面是AJAX调用的文件中的大部分源代码:

%@LANGUAGE="JAVASCRIPT"%

代码语言:javascript
运行
复制
<script runat="server" src="scripts/json2.js"></script>

<%

代码语言:javascript
运行
复制
var JSONstr;
var GridId;
var password;
var where;

var adoConn;
var adoComm;
var adoRS;

var json;

adoConn = Server.CreateObject("ADODB.Connection");
adoComm = Server.CreateObject("ADODB.Command");
adoRS = Server.CreateObject("ADODB.Recordset");

adoConn.ConnectionString = footballConnStr;
adoConn.Open();

GridId=Request.Form('GridId');

where = "Id = '" +GridId +"'"
password=Request.QueryString('password');

adoRS.ActiveConnection = adoConn;
adoRS.CursorType = 3; // So I can use RecordCount Property

adoRS.Source="SELECT GridBets FROM _Games WHERE " +where

// **这是我的小测试,以查看来自JSON2.js的JSON对象是否正在加载

代码语言:javascript
运行
复制
json = {};
JSONstr = JSON.stringify(json); // it is failing on this line...

// **

代码语言:javascript
运行
复制
adoRS.Open();
    var rslt = "{ digits:" +adoRS('GridBets') +"}";
adoRS.Close();

Response.Write( rslt );
Response.End();

/*

EN

回答 2

Stack Overflow用户

发布于 2013-12-10 00:51:09

最好的选择是为ASP使用一个JSON库。但是,您还没有说明是否使用了经典的ASP?

ASP.NET的一些选项:

此外,也有许多类似的问题正在讨论之中:

票数 0
EN

Stack Overflow用户

发布于 2018-11-08 04:06:00

你已经接近解决方案了。json2.js可以使用VB或Javascript完美地处理asp经典。

但是,当您使用<%@ language=" javascript“%>初始值时,在服务器端javascript包含之前,将执行<% %>之间的所有代码。

因此,运行中的解决方案可以是将javascript代码放在外部JS文件中,或者将其设置在脚本runat=“%>”之间的asp文件中,而不是<% %>。

样本json.asp:

代码语言:javascript
运行
复制
<%@ language="javascript" %> 
<script language="javascript" runat="server" src="json2.js"></script>
<script language="javascript" runat="server">
    var s = JSON.stringify({aaa: "bbb"});
    Response.Write(s + '<br>');
    var obj = JSON.parse('{"ccc": "ddd"}');
    Response.write(obj.ccc + '<br>');
</script>
<script runat="server" language="vbscript">
    response.write "some vbscript code<br>"
</script>
<% 
    try{        
        var obj = {a: "a", b: "b"};
        Response.Write(JSON.stringify(obj));
    }catch(e){
        Response.Write("ERR: " + e.message + "<br>")
    }
%>

产出如下:

代码语言:javascript
运行
复制
some vbscript code
ERR: 'JSON' is undefined
{"aaa":"bbb"}
ddd

如您所见,我们在{"a":"b"}之前得到"ERR:“输出,因为在脚本标记之间运行任何服务器端javascript之前都会执行<% %>之间的代码。但是,您可以看到脚本标记之间的vbscript代码是在其他任何东西之前执行的,即使是在后面定义的!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20483220

复制
相关文章

相似问题

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