HelloWorld.JsonDataObject.ConvertValue C# (CSharp) Method

ConvertValue() static private method

将 Json 数据包装成相应的数据对象
static private ConvertValue ( JToken data, IDataHost host ) : JToken
data JToken 要包装的 JSON 数据对象
host IDataHost s游戏数据宿主对象
return JToken
        internal static JToken ConvertValue( JToken data, IDataHost host )
        {
            if ( data == null )
            return null;

              var dataHost = data as IDataHost;
              if ( dataHost != null && dataHost.Token == host.Token )
            return data;

              var obj = data as JObject;

              if ( obj != null )
            return new JsonDataObject( obj, host );

              var array = data as JArray;
              if ( array != null )
            return new JsonDataArray( array, host );

              if ( data is JContainer )
            throw new InvalidOperationException();

              return data;
        }

Usage Example

示例#1
0
        public JsonDataArray(JArray array, IDataHost host)
        {
            foreach (var item in array.Select(item => JsonDataObject.ConvertValue(item, host)))
            {
                Add(item);
            }

            _host = host;
        }