c# – 如何让System.Web.Script.javascriptSerializer忽略属性?
发布时间:2020-12-15 17:46:13 所属栏目:百科 来源:网络整理
导读:[Serializable]public class ModelResource:ISerializable{ public Int64 Ore { get; private set; } public Int64 Crystal { get; private set; } public Int64 Hydrogen { get; private set; } //needs to be ignored public Int64 Total { get { return O
[Serializable] public class ModelResource:ISerializable { public Int64 Ore { get; private set; } public Int64 Crystal { get; private set; } public Int64 Hydrogen { get; private set; } //needs to be ignored public Int64 Total { get { return Ore + Hydrogen + Crystal; } } public string ResourceType { get; private set; } public Int64 HerculesNeeded { get { return Total / 25000; } } public Int64 AtlasNeeded { get { return Total / 5000; } } public bool IsPlanet { get { return ResourceType == "Planet"; } } //causes serializer to stackoverflow public ModelResource MakeChild {get{return new ModelResource(Ore/2,Crystal/2,Hydrogen/2);}} public string ToJson() { var jss = new System.Web.Script.Serialization.JavaScriptSerializer(new SimpleTypeResolver()); return jss.Serialize(this); //throws recursion limit exceed exception } #region ISerializable Members public void GetObjectData(SerializationInfo info,StreamingContext context) { info.AddValue("Ore",Ore); info.AddValue("Crystal",Crystal); info.AddValue("Hydrogen",Hydrogen); info.AddValue("ResourceType",ResourceType); } private ModelResource(SerializationInfo si,StreamingContext context) { Ore = si.GetInt64("Ore"); Crystal = si.GetInt64("Crystal"); Hydrogen = si.GetInt64("Hydrogen"); ResourceType = si.GetString("ResourceType"); } #endregion } 解决方法
通常我建议告诉它忽略父属性(创建循环) – 在这种情况下,添加
[ScriptIgnore] – 但我看不到除基本成员之外的其他东西 – 这个类本身足以导致错误?
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- React Native网络请求学习笔记(Android版本)
- xml格式说明文档
- Flex错误1053:verifyerror error #1053 illegal over...
- Ajax通过SOAP协议调用Web服务
- Flex 中Array的插入删除元素
- cocos2d html5 简易点餐客户端
- Need to add a category for addStratosphereSsp.xml
- Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(三)
- reactjs – React-native,清晰的webview cookie?
- ios – 在我的xcode 6,xcode 7 beta中看不到Preview Assist