【问题标题】:Read JSON data in a C# page?在 C# 页面中读取 JSON 数据?
【发布时间】:2012-09-17 22:58:53
【问题描述】:

我通过 ajax 将数据发布到 aspx 页面,但现在我不知道如何读取它。我只需要获取通过 JSON 传递的字符串并将它们分配给某些变量并操作 .aspx 文件中的变量。我该怎么做?

这里是 jquery:

var ceSaveDatea = {};
    ceSaveDatea.one = requestNumber;
    ceSaveDatea.two = itemTypeID;
    ceSaveDatea.three = servicesRequired;
    ceSaveDatea.four = otherComments;
    ceSaveDatea.five = suggestedReplacements;
    ceSaveDatea.six = internalTestingRequired;
    ceSaveDatea.seven = externalTestingRequired;
    ceSaveDatea.eight = ceGeneralComments;

    /*
    var url = "../ajaxURLs/ComponentEngineering.aspx?requestNumber=" + requestNumber + "&itemTypeID=" + itemTypeID + "&servicesRequired=" + servicesRequired + "&otherComments=" + otherComments + "&suggestedReplacements=" + suggestedReplacements + "&internalTestingRequired=" + internalTestingRequired + "&externalTestingRequired=" + externalTestingRequired + "&ceGeneralComments=" + ceGeneralComments;
    var encodedURL = EncodeURL(url);
    */

    $.ajax({
        type: "POST",
        url: "/ajaxURLs/ComponentEngineering.aspx",
        data: JSON.stringify(ceSaveDatea),  
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        cache: false,
        success: function (data) {
            alert(data);
            if (data != '')
                $('#checkboxContainerDiv').html(data);
        },
        error: function(msg) {
        alert('error');
        }
    });

然后我只需要获取这些信息并在 ComponentEngineer.aspx 页面上进行转换。它不是网络服务。

谢谢!

【问题讨论】:

  • 你应该看看这篇关于通过 jQuery 使用页面方法的帖子:encosia.com/…
  • 您可以定义一个 [WebMethod] 方法,将 JSON 帖子捕获到 .net 对象中,然后从那里开始。基本上只是创建了具有与 json 对象匹配名称的成员的 .net 类。其余的将神奇地发生。
  • 您的问题是关于在 C# 或 JavaScript 中操作 JSON 数据吗?

标签: c# jquery .net json webforms


【解决方案1】:

如果你想在你的 C# 代码中处理 JSON,我强烈建议你去探索JSON.NET

【讨论】:

    【解决方案2】:

    以下代码应该可以满足您的需要:

            JavaScriptSerializer serializer = new JavaScriptSerializer();
            Dictionary<object, object> jsonLookup = ((Dictionary<object, object>)serializer.Deserialize<Dictionary<object, object>>(jsonSource));
    

    传递给 Deserialize 方法的“jsonSource”是您的 JSON 字符串。

    先决条件是:

    • 包括对 .NET 程序集的引用:System.Web.Extensions
    • 在类文件的顶部包含 using 语句:using System.Web.Script.Serialization;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-10
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多