json的序列化和反序列化
2013-07-19 21:39 糯米粥 阅读(515) 评论(0) 编辑 收藏 举报后台把一个对象序列化发送到前台。注:不要序列化table,会有异常。应该是list或者字典
PhotoBLL bll = new PhotoBLL();
List<Photos> list = bll.GetAllPhotos();
//输出json格式的字符串
JavaScriptSerializer jss = new JavaScriptSerializer(); //JavaScriptSerializer命名空间 using System.Web.Script.Serialization;
string json = jss.Serialize(list);
context.Response.Write(json);
前端接收
方法一:当前端是用$.getJson方式:
$.getJSON("xxx.ashx, function (json) {
for (var i = 0; i < json.length; i++) {
var id = json[i].id;
...........
})
})
方法二:当前端是用$.post/get方式:
$.post("xxx.ashx?, function (data) {
var json = eval(data); //用eval解析json对象
for (var i = 0; i < json.length; i++) {
var id = json[i].id;
...........
})
})
前端用js拼json发送到后台,并反序列化获取数据
比如前端格式:
var data = { "photo": "{\"PTitle\":\"" + title + "\",\"PUrl\":\"" + url + "\",\"PTypeId\":1,\"PUserId\":1,\"PDes\":\"\"}","type":1 };//斜杠是转义。别写错
$.ajax({
url: '/ashx/Enqeiry/ItemCode.ashx',
data: { "Enquiry": jsonTemp }, //serialize data
async: false,
type: 'post',
success: function (msg) {
if (msg == "ok") {
try {
opener.location.reload(); //刷新父页面
} catch (e) {
}
}
},
error: function () { }
});
后台接收并反序列化
string type = context.Request.Form["type"];
// {"PTitle":"","PUrl":"","PTypeId":1,"PUserId":1,"PDes":""}
string json = context.Request.Form["photo"];
JavaScriptSerializer jss = new JavaScriptSerializer();
//把json格式的字符串 转化成photos对象
Photos photo = jss.Deserialize<Photos>(json);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?