2

私はクラシック ASP の初心者で、これがスタック オーバーフローでの最初の質問です... json のランダムな数のパラメーターを使用して、クエリ文字列を変換する必要があります。

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

このようなもので:

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

aspでこれを自動的に行うものはありますか??

4

2 に答える 2

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 パーサー クラスですが、その場所にはありません。サーバーにあるコピーをダウンロードし、現在使用しています。次の URL で最新のコピーを見つけることができます - https://github.com/douglascrockford/JSON-js

したがって、次の URL でテスト ページにアクセスすると、

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 に答える
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;
}   
于 2012-08-09T08:37:03.907 に答える