当前位置: 首页>>代码示例>>C#>>正文


C# ObjectList.FromJson方法代码示例

本文整理汇总了C#中Com.Aote.ObjectTools.ObjectList.FromJson方法的典型用法代码示例。如果您正苦于以下问题:C# ObjectList.FromJson方法的具体用法?C# ObjectList.FromJson怎么用?C# ObjectList.FromJson使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Com.Aote.ObjectTools.ObjectList的用法示例。


在下文中一共展示了ObjectList.FromJson方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: FromJson

        /// <summary>
        /// 由Json串给对象赋值,将递归进行调用,碰到JsonArray自动把JsonArray转换成ObjectList。
        /// 碰到JsonObject,自动转换成GeneralOject。
        /// </summary>
        /// <param name="item">从这个json对象给对象属性赋值</param>
        public void FromJson(JsonObject item)
        {
            //通过获取类型,给_ctype赋值
            this.NewGetType();

            //如果有实体类型,则设置实体类型
            if (item.ContainsKey("EntityType"))
            {
                EntityType = item["EntityType"];
                item.Remove("EntityType");
            }
            foreach (string key in item.Keys)
            {
                object value = item[key];
                Log.Debug("from json name=" + this.Name);
                if (key.Equals("id"))
                {
                    Log.Debug("from json id=" + value);
                }
                //如果是数组,对数组中的每一个对象调用转换过程
                if (value is JsonArray)
                {
                    //数组转换成对象列表
                    ObjectList ol = new ObjectList();
                    ol.FromJson(value as JsonArray);
                    SetCollectionProperty(key, ol);
                }
                else if (value is JsonObject)
                {
                    //JsonObject转换成一般对象
                    GeneralObject go = new GeneralObject();
                    go.FromJson(value as JsonObject);
                    SetPropertyValue(key, go, true);
                }
                else if (value is JsonPrimitive)
                {
                    this.NewGetType().GetProperty(key).SetValue(this, value as JsonPrimitive, null);
                }
                else if (value == null)
                {
                    SetPropertyValue(key, null, true);
                }
                else 
                {
                    throw new Exception("类型错误");
                }
            }
            //新加载的对象为未修改
            IsModified = false;
        }
开发者ID:DuBin1988,项目名称:restv2,代码行数:55,代码来源:GeneralObject.cs


注:本文中的Com.Aote.ObjectTools.ObjectList.FromJson方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。