查询经典asp中的json

时间:2012-08-09 07:58:55

标签: json asp-classic query-string

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

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

就像这样:

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

在asp中自动执行此操作吗?

2 个答案:

答案 0 :(得分: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;
}   

答案 1 :(得分: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"
}