本文整理汇总了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;
}