2012-08-09 55 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" 
}