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); } }
protected override void deSerialize(AutoCSer.Json.Parser parser) { #region LOOP IntputParameters deSerializeParameter(parser, ref @ParameterName); #endregion LOOP IntputParameters deSerializeParent(parser); }
private void parseJson(AutoCSer.Json.Parser parser) { if (MemberMap == null) { MemberMap = new MemberMap <valueType>(); } parser.MemberMap = MemberMap; parser.TypeParse(ref Value); }
internal void ParseJson(AutoCSer.Json.Parser parser) { if (MemberMap == null) { MemberMap = AutoCSer.Metadata.MemberMap <valueType> .NewEmpty(); } parser.MemberMap = MemberMap; parser.TypeParse(ref Value); }
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; } }
/// <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; } }
/// <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; }
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; }
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; } } }
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; }
/// <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; } }
protected override void deSerialize(AutoCSer.Json.Parser parser) { deSerializeParameter(parser, ref value); deSerializeParent(parser); }
protected override void deSerialize(AutoCSer.Json.Parser parser) { deSerializeParent(parser); }
protected override void deSerializeParameter(AutoCSer.Json.Parser parser) { base.deSerializeParameter(parser, ref value); }
private void deSerialize(AutoCSer.Json.Parser parser) { deSerializeParameter(parser); deSerializeParent(parser); }
/// <summary> /// 服务端反序列化 /// </summary> /// <param name="parser"></param> protected virtual void deSerializeParameter(AutoCSer.Json.Parser parser) { }