在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>
是否尝试了以下行?
在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);