【ASP.net】我要把类序列化为JSON格式,在本地测试时一切正常,传到服务器上就报错。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【ASP.net】我要把类序列化为JSON格式,在本地测试时一切正常,传到服务器上就报错。相关的知识,希望对你有一定的参考价值。

我要把类序列化为JSON格式,在本地测试时一切正常,传到服务器上就报错。
错误信息如下:
——————————————————————————————
无法序列化类型“XXX.XXX.XXX”。可以考虑使用 DataContractAttribute 属性对其进行标记,或使用 DataMemberAttribute 属性标记所有想要序列化的该类型的成员。——————————————————————————————
搜到的原因是说服务器没有安装.net framework 3.5,但是不可能,我安装了3.5 SP1完整版200多MB的那个官方包,还是不行。
本地和服务器都是2003的系统。

参考技术A 按照你的错误信息给类加上【DataContractAttribute 】给类中成员加上【DataMemberAttribute】,除了。net的指定类型,自定义的类要传输貌似都要声明【Serialize
able】之类的序列化标识追问

已经解决了,还是DLL引用的问题。
可能代码在服务器上运行时,找不到原来在我本地引用的DLL,后来把DLL放到项目里,搞定了。
也谢谢你的回答!

参考技术B 你是玩Wcf的 ??将模型类序列化成Json对象直接调用 new javascriptSerializer().Serialize(obj);即可追问

不是啊,就是为了把实体类的数据转成JSON格式的字符串,存入数据库,按照网上找的方法自己改了改,本地测试已成功,上线了就报错……

以上是关于【ASP.net】我要把类序列化为JSON格式,在本地测试时一切正常,传到服务器上就报错。的主要内容,如果未能解决你的问题,请参考以下文章

在 Asp.Net Web API 中将 JSON 反序列化为派生类型

如何在 ASP.NET 中将 JSON 反序列化为简单的 Dictionary<string,string>?

使用 Html.Raw 将 ASP.NET 模型序列化为 JSON 的 Razor 语法错误

ASP.Net Core 中的 JSON 序列化/反序列化

在将 json 反序列化为对象时,使用 jackson 将 asp.net / MS 专有 json Dateformat 转换为 java8 LocalDateTime

将实体框架对象序列化为 JSON