2012-08-09 30 views
2

JSON我在经典的ASP初学者,这是我的第一个计算器问题...我需要改造的查询字符串,参数在JSON的随机数:查询字符串,以在传统的ASP

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

在这样的事情:

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

是有什么在ASP中自动执行此操作?

回答

0

这是可能的。您需要设置所有这些参数字典,然后使用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; 
} 
+0

我已经知道在C#该解决方案,我需要它在ASP 。有没有像ASP的东西? ty ... – MkM 2012-08-09 13:09:12

+0

你在ASP中意味着什么? ASP.net是框架。您可以使用.net语言之一编写代码隐藏文件,例如使用c#。你可以添加更多的信息,你想要做什么。 – 2012-08-09 13:35:26

+0

对不起..经典的ASP ... – MkM 2012-08-10 14:27:24

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" 
}