我是Classic ASP的初学者,这是我在stackoverflow中的第一个问题...我需要转换一个查询字符串,在json中使用随机数量的参数:
param1=hi¶m2=hello¶m3=byebye.... paramN=gudnight
就像这样:
{"param1":"hi","param2":"hello","param3":"byebye"...,"paramN":"gudnight"}
在asp中自动执行此操作吗?
答案 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"
}