2

我是 Classic ASP 的初学者,这是我在 stackoverflow 中的第一个问题......我需要转换一个查询字符串,在 json 中使用随机数量的参数:

param1=hi&param2=hello&param3=byebye....  paramN=gudnight

在这样的事情中:

{"param1":"hi","param2":"hello","param3":"byebye"...,"paramN":"gudnight"}

有什么东西可以在asp中自动执行吗?

4

2 回答 2

0

有可能的。您需要设置所有这些参数 Dictionary,然后使用 JavaScriptSerializer 对其进行序列化。例子:

public string ConvertParametersToJson(Dictionary<string, string> queryParameters)
{
   var dic = Request.QueryString.AllKeys.ToDictionary<string, string, object>(key => key, key => Request.QueryString[key]);
   var serializer = new JavaScriptSerializer { MaxJsonLength = int.MaxValue };
   var json = serializer.Serialize(dic);
   return json;
}   
于 2012-08-09T08:37:03.907 回答
0

干得好。

<script language="javascript" runat="server" src="http://www.JSON.org/json2.js"></script>

<%
    DIM jsonQueryString
    SET jsonQueryString = JSON.parse("{}")

    For Each item In Request.QueryString
        DIM key : key = Request.QueryString.Key(item)
        DIM val : val = Request.QueryString(key)(1)
        jsonQueryString.set key, val
    Next

    Response.Write JSON.stringify(jsonQueryString)
%>

更新:包含的 json2.js 文件是一个 json 解析器类,但它不再位于该位置。我们下载了它的副本,该副本位于我们的服务器上,我们目前正在使用。您可以在以下网址找到它的最新副本 - https://github.com/douglascrockford/JSON-js

因此,如果我使用以下网址访问我的测试页面 -

http://localhost:8080/tests/ws/parsequerytojson.asp?a=1&b=2&c=3

我得到以下 JSON 格式的响应 -

{
    a: "1",
    b: "2",
    c: "3"
}
于 2012-08-17T21:20:19.480 回答