Esempio n. 1
0
 private void toJson(AutoCSer.JsonSerializer serializer)
 {
     serializer.CustomWriteFirstName("name");
     serializer.CallSerialize(name);
     if (type != MenuType.none)
     {
         serializer.CustomWriteNextName("type");
         serializer.TypeSerialize(ref type);
     }
     if (!string.IsNullOrEmpty(key))
     {
         serializer.CustomWriteNextName("key");
         serializer.CallSerialize(key);
     }
     if (!string.IsNullOrEmpty(url))
     {
         serializer.CustomWriteNextName("url");
         serializer.CallSerialize(url);
     }
     if (!string.IsNullOrEmpty(media_id))
     {
         serializer.CustomWriteNextName("media_id");
         serializer.CallSerialize(media_id);
     }
     if (sub_button.length() != 0)
     {
         serializer.CustomWriteNextName("sub_button");
         serializer.TypeSerialize(sub_button);
     }
     serializer.CustomObjectEnd();
 }
Esempio n. 2
0
        /// <summary>
        /// 对象序列化
        /// </summary>
        /// <param name="serializer"></param>
        protected void toJson(AutoCSer.JsonSerializer serializer)
        {
            serializer.CustomWriteNextName("msgtype");
            serializer.CallSerialize(msgtype.ToString());
            serializer.CustomWriteNextName(msgtype.ToString());
            switch (msgtype)
            {
            case BulkMessageType.mpnews:
                serializer.TypeSerialize(ref mpnews);
                break;

            case BulkMessageType.text:
                serializer.TypeSerialize(ref text);
                break;

            case BulkMessageType.image:
                serializer.TypeSerialize(ref image);
                break;

            case BulkMessageType.voice:
                serializer.TypeSerialize(ref voice);
                break;

            case BulkMessageType.mpvideo:
                serializer.TypeSerialize(ref mpvideo);
                break;

            case BulkMessageType.wxcard:
                serializer.TypeSerialize(ref wxcard);
                break;
            }
            serializer.CustomObjectEnd();
        }
Esempio n. 3
0
 private void toJson(AutoCSer.JsonSerializer serializer)
 {
     if (scene_str == null)
     {
         serializer.CustomWriteFirstName("scene_id");
         serializer.CallSerialize(scene_id);
     }
     else
     {
         serializer.CustomWriteFirstName("scene_str");
         serializer.CallSerialize(scene_str);
     }
     serializer.CustomObjectEnd();
 }
Esempio n. 4
0
 private unsafe void toJson(AutoCSer.JsonSerializer serializer)
 {
     if (card_ext.signature == null)
     {
         AutoCSer.LogHelper.Debug("卡券扩展 签名为空", LogLevel.Debug | LogLevel.Info | LogLevel.AutoCSer);
         serializer.CharStream.WriteJsonObject();
     }
     else
     {
         serializer.CustomWriteFirstName("card_id");
         serializer.CallSerialize(card_id);
         serializer.CustomWriteNextName("card_ext");
         serializer.CallSerialize(AutoCSer.JsonSerializer.Serialize(card_ext));
         serializer.CustomObjectEnd();
     }
 }
Esempio n. 5
0
 private void toJson(AutoCSer.JsonSerializer serializer)
 {
     serializer.CustomWriteFirstName("action_name");
     if (expire_seconds == 0)
     {
         serializer.CallSerialize(action_info.scene.scene_str == null ? "QR_LIMIT_SCENE" : "QR_LIMIT_STR_SCENE");
     }
     else
     {
         serializer.CallSerialize("QR_SCENE");
         serializer.CustomWriteNextName("expire_seconds");
         serializer.CallSerialize(expire_seconds);
     }
     serializer.CustomWriteNextName("action_info");
     serializer.TypeSerialize(ref action_info);
     serializer.CustomObjectEnd();
 }
Esempio n. 6
0
        /// <summary>
        /// 对象序列化
        /// </summary>
        /// <param name="serializer"></param>
        private void toJson(AutoCSer.JsonSerializer serializer)
        {
            serializer.CustomWriteFirstName("touser");
            serializer.CallSerialize(touser);
            serializer.CustomWriteNextName("msgtype");
            serializer.CallSerialize(msgtype.ToString());
            serializer.CustomWriteNextName(msgtype.ToString());
            switch (msgtype)
            {
            case MessageType.news:
                serializer.TypeSerialize(ref news);
                break;

            case MessageType.text:
                serializer.TypeSerialize(ref text);
                break;

            case MessageType.image:
                serializer.TypeSerialize(ref image);
                break;

            case MessageType.voice:
                serializer.TypeSerialize(ref voice);
                break;

            case MessageType.video:
                serializer.TypeSerialize(ref video);
                break;

            case MessageType.music:
                serializer.TypeSerialize(ref music);
                break;

            case MessageType.wxcard:
                serializer.TypeSerialize(ref wxcard);
                break;
            }
            if (customservice.kf_account != null)
            {
                serializer.CustomWriteNextName("customservice");
                serializer.TypeSerialize(ref customservice);
            }
            serializer.CustomObjectEnd();
        }
Esempio n. 7
0
        /// <summary>
        /// 对象序列化
        /// </summary>
        /// <param name="serializer"></param>
        private void toJson(AutoCSer.JsonSerializer serializer)
        {
            if (string.IsNullOrEmpty(towxname))
            {
                serializer.CustomWriteFirstName("touser");
                serializer.CallSerialize(touser);
            }
            else
            {
                serializer.CustomWriteFirstName("towxname");
                serializer.CallSerialize(towxname);
            }
            serializer.CustomWriteNextName("msgtype");
            serializer.CallSerialize(msgtype.ToString());
            serializer.CustomWriteNextName(msgtype.ToString());
            switch (msgtype)
            {
            case BulkMessageType.text:
                serializer.TypeSerialize(ref text);
                break;

            case BulkMessageType.image:
                serializer.TypeSerialize(ref image);
                break;

            case BulkMessageType.voice:
                serializer.TypeSerialize(ref voice);
                break;

            case BulkMessageType.mpvideo:
                serializer.TypeSerialize(ref mpvideo);
                break;

            case BulkMessageType.mpnews:
                serializer.TypeSerialize(ref mpnews);
                break;

            case BulkMessageType.wxcard:
                serializer.TypeSerialize(ref wxcard);
                break;
            }
            serializer.CustomObjectEnd();
        }
        /// <summary>
        /// 序列化
        /// </summary>
        /// <param name="reader"></param>
        public void Serialize(DbDataReader reader)
        {
            if (this.isValue)
            {
                serializer.CharStream.Write(',');
            }
            else
            {
                this.isValue = true;
            }
            int  fieldCount = reader.FieldCount;
            bool isValue    = false;

            if (fieldCount != 0)
            {
                for (int index = 0; index != fieldCount; ++index)
                {
                    if (reader.IsDBNull(index))
                    {
                        if (!isIgnoreNull)
                        {
                            if (isValue)
                            {
                                serializer.CustomWriteNextName(reader.GetName(index));
                            }
                            else
                            {
                                serializer.CustomWriteFirstName(reader.GetName(index));
                                isValue = true;
                            }
                            serializer.CharStream.WriteJsonNull();
                        }
                    }
                    else
                    {
                        if (isValue)
                        {
                            serializer.CustomWriteNextName(reader.GetName(index));
                        }
                        else
                        {
                            serializer.CustomWriteFirstName(reader.GetName(index));
                            isValue = true;
                        }
                        object value = reader.GetValue(index);

                        Action <AutoCSer.JsonSerializer, object> typeSerializer;
                        if (serializers == null)
                        {
                            typeSerializer = typeSerializers[value.GetType()];
                        }
                        else
                        {
                            if (serializers.Length == 0)
                            {
                                serializers = new Action <AutoCSer.JsonSerializer, object> [reader.FieldCount];
                            }
                            if ((typeSerializer = serializers[index]) == null)
                            {
                                serializers[index] = typeSerializer = typeSerializers[value.GetType()];
                            }
                        }
                        typeSerializer(serializer, value);
                    }
                }
            }
            if (isValue)
            {
                serializer.CustomObjectEnd();
            }
            else
            {
                serializer.CharStream.WriteJsonObject();
            }
        }