8
|
Todd Smith Brandon · 技术社区 · 16 年前 |
![]() |
1
19
我对此使用匿名类型:
这不仅仅是个好主意。相反,如果对象图包含循环引用,那么它可以防止在调用json()时出现异常。 |
![]() |
2
6
您可以使用[scriptIgnore]属性(在system.web.extensions中)。见 http://www.creave.dk/post/2009/10/07/Excluding-properties-from-being-serialized-in-ASPNET-MVC-JsonResult.aspx 举个例子。 |
![]() |
3
4
请使用视图模型。视图模型是用户界面用来在屏幕上表示域对象的对象。每个屏幕都有自己的视图模型。 当您创建视图模型(DTO)时,它是域对象的扁平、空的安全投影,不映射您不希望在屏幕上显示的属性。 序列化视图模型,而不是域对象。 |
![]() |
4
1
你可以用 Newtonsoft 库和[jsonignore]属性,用于标记您不想公开的类的属性。还有其他库(可能具有不同的属性ignore attribute name),我个人更喜欢这个库,因为它在JSON转换器扩展等中非常灵活,它可以轻松地序列化匿名对象。
|
![]() |
5
0
我遇到了同样的问题,解决方法之一是 使用[scriptIgnore]属性..它将解决这个问题。 添加System.Web.Extensions引用并添加命名空间: 使用system.web.script.serialization。 如果您还有问题,请继续阅读,以获得详细的解释。 我有一个用户类…… 使用系统; 使用system.collections.generic; 使用system.linq; 使用system.web; 使用iesi.collections.generic; 使用system.runtime.serialization; 命名空间raportal.core.entities { 公共类用户 {
私人IList应用程序;
….属性..
公共虚拟IList组
……所以… 我还有小组课…… 使用系统; 使用system.collections.generic; 使用system.linq; 使用system.web; 使用system.web.script.serialization; 使用system.runtime.serialization; 命名空间raportal.core.entities { 公共类组 {
} } 因为用户在组中被引用。JSON认为它是循环引用,它将抛出一个异常..因此修复方法是在用户顶部添加[scriptIgnore]。并像这样向这个类添加引用和名称空间。 它解决了我的问题。我相信有更好的方法!!!!干杯。。。 记住,您应该只在groups类中添加[scriptIgnore],而不在users类中添加。 |
![]() |
6
0
在我的经验中,javascriptserializer也尊重一些XML序列化属性,如xmlignore。 |
![]() |
lonix · 使用sed从JSON中提取非贪婪正则表达式 1 年前 |
![]() |
Henry · 使用Python将json重新格式化为键值对 2 年前 |
![]() |
eymentakak · json字典类型错误:字符串索引必须是整数 2 年前 |
![]() |
Vodka · 如何将单个json对象转换为json数组? 2 年前 |
![]() |
Alper · 从json转换为数据帧? 2 年前 |