示例#1
0
 /// <summary>
 /// 写Json字符串
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="modelList"></param>
 /// <param name="sw"></param>
 /// <param name="format"></param>
 public static void WriteJson <T>(IEnumerable <T> modelList, NFinal.IO.IWriter sw, NFinal.Json.DateTimeFormat format = Json.DateTimeFormat.LocalTimeNumber)
 {
     if (modelList == null)
     {
         sw.Write(Constant.nullString);
     }
     else
     {
         NFinal.Json.GetJsonDelegate <T> dele = null;
         sw.Write("[");
         foreach (T model in modelList)
         {
             if (dele == null)
             {
                 dele = (NFinal.Json.GetJsonDelegate <T>)NFinal.Json.JsonHelper.GetDelegate(model, format);
             }
             else
             {
                 sw.Write(",");
             }
             dele(model, sw, format);
         }
         sw.Write("]");
     }
 }
示例#2
0
 /// <summary>
 /// 输出Object.ToString();
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="writer"></param>
 /// <param name="value"></param>
 public static void Write <T>(this NFinal.IO.IWriter writer, T value)
 {
     if (value != null)
     {
         writer.Write(value.ToString());
     }
 }
示例#3
0
 /// <summary>
 /// 输出Object.ToString();
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="writer"></param>
 /// <param name="value"></param>
 public void Write <T>(NFinal.IO.IWriter writer, T value)
 {
     if (value != null)
     {
         Write(value.ToString());
     }
 }
示例#4
0
 /// <summary>
 /// 输出字符串
 /// </summary>
 /// <param name="writer"></param>
 /// <param name="value"></param>
 public static void Write(this NFinal.IO.IWriter writer, string value)
 {
     if (value != null)
     {
         byte[] buffer = NFinal.Constant.encoding.GetBytes(value);
         writer.Write(buffer, 0, buffer.Length);
     }
 }
示例#5
0
        public static void WriteJson <TModel>(TModel model, NFinal.IO.IWriter writer, DateTimeFormat format)
        {
            GetJsonDelegateData getJsonDelegateData;
            RuntimeTypeHandle   modelTypeHandle = model.GetType().TypeHandle;

            if (!GetJsonDictionary.TryGetValue(modelTypeHandle, out getJsonDelegateData))
            {
                getJsonDelegateData.modelTypeHandle = modelTypeHandle;
                getJsonDelegateData.getJsonDelegate = GetDelegate(model, format);
                GetJsonDictionary.TryAdd(modelTypeHandle, getJsonDelegateData);
            }
            ((GetJsonDelegate <TModel>)getJsonDelegateData.getJsonDelegate)(model, writer, format);
        }
示例#6
0
 /// <summary>
 /// 写Json字符串
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="model"></param>
 /// <param name="sw"></param>
 /// <param name="format"></param>
 public static void WriteJson <T>(T model, NFinal.IO.IWriter sw, NFinal.Json.DateTimeFormat format = Json.DateTimeFormat.LocalTimeNumber)
 {
     NFinal.Json.GetJsonDelegate <T> dele = (NFinal.Json.GetJsonDelegate <T>)NFinal.Json.JsonHelper.GetDelegate(model, format);
     dele(model, sw, format);
 }
示例#7
0
        public static void Write(Model model, NFinal.IO.IWriter writer, DateTimeFormat dateTimeFormat)
        {
            writer.Write("{");
            writer.Write("\"a\":");
            if (model.a == null)
            {
                writer.Write("null");
            }
            else
            {
                writer.WriteJsonReverseString(model.a);
            }
            writer.Write(",");
            writer.Write("\"b\":");
            writer.Write(model.b.ToString());
            writer.Write(",");
            writer.Write("\"c\":");
            if (model.c == null)
            {
                writer.Write("null");
            }
            else
            {
                writer.Write(((Int32)model.c).ToString());
            }
            writer.Write(",");
            writer.Write("\"b1\":");
            writer.Write("\"");
            writer.Write(model.b1.ToString());
            writer.Write("\"");

            writer.Write(",");
            writer.Write("\"c1\":");
            if (model.c1 == null)
            {
                writer.Write("null");
            }
            else
            {
                writer.Write("\"");
                writer.Write(((Char)model.c1).ToString());
                writer.Write("\"");
            }
            writer.Write(",");
            writer.Write("\"b2\":");
            writer.Write(JsonHelper.GetLocalTimeString(model.b2));
            writer.Write(",");
            writer.Write("\"c2\":");
            if (model.c2 == null)
            {
                writer.Write("null");
            }
            else
            {
                writer.Write(JsonHelper.GetLocalTimeString((DateTime)model.c2));
            }
            writer.Write(",");
            writer.Write("\"b3\":");
            writer.Write(model.b3?"true":"false");
            if (model.c3 == null)
            {
                writer.Write("null");
            }
            else
            {
                writer.Write((System.Boolean)model.c3?"true":"false");
            }
            writer.Write(",");
            writer.Write("\"b4\":");
            if (model.b4 == null)
            {
                writer.Write("null");
            }
            else
            {
                writer.Write("\"");
                writer.Write(Convert.ToBase64String(model.b4));
                writer.Write("\"");
            }
            writer.Write("}");
        }
示例#8
0
 /// <summary>
 /// 输出一行
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="writer"></param>
 /// <param name="obj"></param>
 public static void WriteLine <T>(this NFinal.IO.IWriter writer, T obj)
 {
     writer.Write(obj.ToString());
     writer.Write(NFinal.Constant.Html_Br);
 }
示例#9
0
 /// <summary>
 /// 输出字节
 /// </summary>
 /// <param name="writer"></param>
 /// <param name="buffer"></param>
 public static void Write(this NFinal.IO.IWriter writer, byte[] buffer)
 {
     writer.Write(buffer, 0, buffer.Length);
 }
示例#10
0
 /// <summary>
 /// 输出反转义的Json字符串
 /// </summary>
 /// <param name="writer"></param>
 /// <param name="value"></param>
 public static void WriteJsonReverseString(this NFinal.IO.IWriter writer, string value)
 {
     byte[] buffer = value.JsonEncodeBytes();
     writer.Write(buffer, 0, buffer.Length);
 }