热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C#对象转JSON字符串的方法与应用

本文介绍如何在C#中使用一般处理程序(ASHX)将对象转换为JSON字符串,并通过设置响应类型为application/json来确保客户端能够正确解析返回的数据。同时,文章还提供了HTML页面中不依赖jQuery的AJAX方法来接收和处理这些JSON数据的具体实现。

在 ASP.NET 中,可以通过创建一个 ASHX 文件(一般处理程序)来处理客户端请求并返回 JSON 数据。以下是将 C# 对象转换为 JSON 字符串并在响应中返回的示例代码:

首先,在 ASHX 文件中设置响应的内容类型为 JSON:

context.Response.COntentType= "application/json"; 这一行代码告知浏览器或客户端应用程序,服务器返回的数据格式为 JSON。

接着,使用 JavascriptSerializer 类将 C# 对象序列化为 JSON 字符串并写入响应流中:

context.Response.Write(new JavascriptSerializer().Serialize(new { status = "OK", message = "成功" }));

以上代码将创建一个新的匿名对象,包含状态码和消息,然后将其转换为 JSON 字符串发送给客户端。

接下来,我们来看看如何在 HTML 页面中接收这个 JSON 数据。这里提供了一个不使用 jQuery 的原生 Javascript 实现:

<script type="text/Javascript">window.onload = function() {document.getElementById("btn").onclick = function() {var username = document.getElementById("uname").value;var password = document.getElementById("pwd").value;var xhr = new XMLHttpRequest();xhr.open("POST", "/Handler1.ashx?username=" + encodeURIComponent(username) + "&password=" + encodeURIComponent(password), true);xhr.onreadystatechange = function() {if(xhr.readyState == 4) {if(xhr.status == 200) {var respOnse= JSON.parse(xhr.responseText);alert(response.status);}else{alert("请求失败");}}};xhr.send();};}script>

上述脚本中,当用户点击按钮时,会触发 AJAX 请求,向服务器发送用户名和密码参数,并接收 JSON 响应。通过调用 JSON.parse() 方法,可以将从服务器接收到的 JSON 字符串解析成 Javascript 对象,从而方便地访问其中的数据。

转载于: 原文链接


推荐阅读
author-avatar
iz76mww
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有