在c#中转换JSON对象

本文关键字:JSON 对象 转换 | 更新日期: 2023-09-27 17:49:18

问题是没有打印任何内容。我在aspx.cs的姓氏列表,我试图在JSON对象解析,所以我可以在aspx中使用它们。我认为问题是在脚本中,因为当我Response.Write('jsonString')它打印在一个正确的JsonFormat

WebForm1.aspx.cs

我有姓氏列表

public List<String> surname= new List<String>();

和使列表到jsonString

的方法
 public string getJson() {
            JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
            string jsonString = javaScriptSerializer.Serialize(surname);
            return jsonString;
        }  

WebForm1.aspx

this is the script 
 <script>
        $(function () {
            $.ajax({
                url: "WebForm1.aspx/getJson",
                dataType: "json",
                success: function (data) {
                    $("#Label2").append(data + " ");
                }
            });
        });
    </script>

和web控件

 <asp:Label ID="Label2" runat="server" Text=""></asp:Label>

在c#中转换JSON对象

是否尝试了以下行?

在asp.net中,你必须获得客户端id,然后设置数据

$('#<%=Label2.ClientID%>').html(data)

你的WebMethod应该像:

[WebMethod]
public static List<string> getJson()
{
      List<String> surname = YourFunctionForSurnames();
      return surname;
}

JavaScript

$(function () {
        $.ajax({
            type:'post',
            url: "WebForm1.aspx/getJson",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
                console.log(data);
                $("#Label2").append(data.d + " ");                    
            }, error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(XMLHttpRequest + '  ' +textStatus + '  ' + errorThrown);
            }
        });
    });

我在我的机器上测试和工作

我认为你需要在js中添加JSON序列化之前使用对象,像JSON.parse(jsonString);