测试写的例子如下:
using Newtonsoft.Json;
using System;
namespace Demo
{
public class DemoJson : JsonConverter
{
private void dumpNumArray<T>(JsonWriter writer, T n)
{
var s = n.ToString();
if (s.EndsWith(".0"))
writer.WriteRawValue(s.Substring(0, s.Length - 2));
else if (s.Contains("."))
writer.WriteRawValue(s.TrimEnd('0').TrimEnd('.'));
else
writer.WriteRawValue(s);
}
public override void WriteJson(JsonWriter writer, object value,
JsonSerializer serializer)
{
Type t = value.GetType();
if (t == dblArrayType)
dumpNumArray<double>(writer, (double)value);
else if (t == decArrayType)
dumpNumArray<decimal>(writer, (decimal