Ejemplo n.º 1
0
        private void parseJson(AutoCSer.Json.Parser parser)
        {
            if (MemberMap == null)
            {
                MemberMap = new MemberMap <memberMapType>();
            }
            parser.MemberMap = MemberMap;
            if (Value == null)
            {
                valueType poolValue = Value = MemberMapValueLinkPool <valueType> .Pop();

                try
                {
                    AutoCSer.Json.TypeParser <valueType> .Parse(parser, ref Value);
                }
                finally
                {
                    if (poolValue != Value)
                    {
                        MemberMapValueLinkPool <valueType> .PushNotNull(poolValue);
                    }
                }
            }
            else
            {
                memberMapType parseValue = Value;
                AutoCSer.Json.TypeParser <memberMapType> .Parse(parser, ref parseValue);
            }
        }
Ejemplo n.º 2
0
 protected override void deSerialize(AutoCSer.Json.Parser parser)
 {
     #region LOOP IntputParameters
     deSerializeParameter(parser, ref @ParameterName);
     #endregion LOOP IntputParameters
     deSerializeParent(parser);
 }
Ejemplo n.º 3
0
 private void parseJson(AutoCSer.Json.Parser parser)
 {
     if (MemberMap == null)
     {
         MemberMap = new MemberMap <valueType>();
     }
     parser.MemberMap = MemberMap;
     parser.TypeParse(ref Value);
 }
Ejemplo n.º 4
0
 internal void ParseJson(AutoCSer.Json.Parser parser)
 {
     if (MemberMap == null)
     {
         MemberMap = AutoCSer.Metadata.MemberMap <valueType> .NewEmpty();
     }
     parser.MemberMap = MemberMap;
     parser.TypeParse(ref Value);
 }
Ejemplo n.º 5
0
        private unsafe void deSerialize(AutoCSer.Json.Parser parser)
        {
            switch (parser.TypeParse <int>())
            {
            case 1: Value = null; return;

            case 2: Value = string.Empty; return;

            default: parser.MoveRead(-1); return;
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 参数反序列化
        /// </summary>
        /// <typeparam name="parameterType"></typeparam>
        /// <param name="parser"></param>
        /// <param name="parameter"></param>
        protected void deSerializeParameter <parameterType>(AutoCSer.Json.Parser parser, ref parameterType parameter)
        {
            if (parser.ParseState == Json.ParseState.Success)
            {
                if (*parser.Current++ == ',')
                {
                    AutoCSer.Json.TypeParser <parameterType> .Parse(parser, ref parameter);

                    return;
                }
                parser.ParseState = Json.ParseState.Custom;
            }
        }
Ejemplo n.º 7
0
 /// <summary>
 /// 服务端反序列化
 /// </summary>
 /// <param name="parser"></param>
 /// <param name="value"></param>
 internal static void DeSerialize(AutoCSer.Json.Parser parser, ref Node value)
 {
     if (*parser.Current++ == '[')
     {
         int serverNodeId = 0;
         parser.CallParse(ref serverNodeId);
         if (parser.State == Json.ParseState.Success)
         {
             (value = createNodes.Array[serverNodeId]()).deSerialize(parser);
         }
         return;
     }
     parser.ParseState = Json.ParseState.Custom;
 }
Ejemplo n.º 8
0
 private unsafe static void deSerialize(AutoCSer.Json.Parser parser, ref ReturnValue value)
 {
     if (*parser.Current++ == '[')
     {
         if (*parser.Current == ']')
         {
             ++parser.Current;
             return;
         }
         int clientNodeId = 0;
         parser.Parse(ref clientNodeId);
         if (parser.State == Json.ParseState.Success)
         {
             value = createReturnValues.Array[clientNodeId]();
             value.deSerialize(parser);
         }
         return;
     }
     parser.ParseState = Json.ParseState.Custom;
 }
Ejemplo n.º 9
0
        private static unsafe void deSerialize(AutoCSer.Json.Parser parser, ref CustomClass value)
        {
            char *read = parser.CustomRead;

            if (parser.VerifyRead(1))
            {
                switch (*(char *)read)
                {
                case '1': value = new CustomClass {
                        Value = null
                }; return;

                case '2': value = new CustomClass {
                        Value = string.Empty
                }; return;

                default: parser.MoveRead(-1); return;
                }
            }
        }
Ejemplo n.º 10
0
 private unsafe void deSerialize(AutoCSer.Json.Parser parser)
 {
     if (*parser.Current++ == '[')
     {
         parser.Parse(ref ClientNodeId);
         if (parser.State == Json.ParseState.Success)
         {
             if (*parser.Current++ == ',')
             {
                 Node.DeSerialize(parser, ref Node);
                 if (parser.State != Json.ParseState.Success || *parser.Current++ == ']')
                 {
                     return;
                 }
             }
         }
         else
         {
             return;
         }
     }
     parser.ParseState = Json.ParseState.Custom;
 }
Ejemplo n.º 11
0
 /// <summary>
 /// 客户端反序列化返回值
 /// </summary>
 /// <param name="parser"></param>
 protected void deSerializeParent(AutoCSer.Json.Parser parser)
 {
     if (parser.ParseState == Json.ParseState.Success)
     {
         char split = *parser.Current++;
         if ((split & 1) == 0)
         {
             if (split == ',')
             {
                 DeSerialize(parser, ref Parent);
                 if (parser.State != Json.ParseState.Success || *parser.Current++ == ']')
                 {
                     return;
                 }
             }
         }
         else if (split == ']')
         {
             return;
         }
         parser.ParseState = Json.ParseState.Custom;
     }
 }
Ejemplo n.º 12
0
 protected override void deSerialize(AutoCSer.Json.Parser parser)
 {
     deSerializeParameter(parser, ref value);
     deSerializeParent(parser);
 }
Ejemplo n.º 13
0
 protected override void deSerialize(AutoCSer.Json.Parser parser)
 {
     deSerializeParent(parser);
 }
Ejemplo n.º 14
0
 protected override void deSerializeParameter(AutoCSer.Json.Parser parser)
 {
     base.deSerializeParameter(parser, ref value);
 }
Ejemplo n.º 15
0
 private void deSerialize(AutoCSer.Json.Parser parser)
 {
     deSerializeParameter(parser);
     deSerializeParent(parser);
 }
Ejemplo n.º 16
0
 /// <summary>
 /// 服务端反序列化
 /// </summary>
 /// <param name="parser"></param>
 protected virtual void deSerializeParameter(AutoCSer.Json.Parser parser)
 {
 }