Common/JsonSerializer.cs

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Globalization;
using System.IO;
using System.Reflection;
using System.Text;

namespace fastJSON
{
	internal class JSONSerializer
	{
		private readonly StringBuilder _output = new StringBuilder();
		
		public static string ToJSON(object obj)
		{
			return new JSONSerializer().ConvertToJSON(obj);
		}

		internal string ConvertToJSON(object obj)
		{
			WriteValue(obj);

			return _output.ToString();
		}

		private void WriteValue(object obj)
		{
			if (obj == null)
				_output.Append("null");
			
			else if (obj is sbyte ||
			         obj is byte ||
			         obj is short ||
			         obj is ushort ||
			         obj is int ||
			         obj is uint ||
			         obj is long ||
			         obj is ulong ||
			         obj is decimal ||
			         obj is double ||
			         obj is float)
				_output.Append(Convert.ToString(obj,NumberFormatInfo.InvariantInfo));
			
			else if (obj is bool)
				_output.Append(obj.ToString().ToLower()); // conform to standard
			
			else if (obj is char || obj is Enum || obj is Guid || obj is string)
				WriteString(obj.ToString());
			
			else if (obj is DateTime)
			{
				_output.Append("\"");
				_output.Append(((DateTime)obj).ToString("yyyy-MM-dd HH:mm:ss"));// conform to standard
				_output.Append("\"");
			}
			
			else if(obj is DataSet)
				WriteDataset((DataSet)obj);
后面还有 176 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。