private static bool JsonSerializeBuiltInType(this JsonWriter writer, string name, object value) { if (writer.JsonSerializeIntegralType(name, value)) { return(true); } if (writer.JsonSerializeFloatingPointType(name, value)) { return(true); } if (value is bool) { if (null == name) { writer.ArrayValue((bool)value); } else { writer.Pair(name, (bool)value); } return(true); } if (value is decimal) { if (null == name) { writer.ArrayValue((decimal)value); } else { writer.Pair(name, (decimal)value); } return(true); } var str = value as string; if (null != str) { if (null == name) { writer.ArrayValue(str); } else { writer.Pair(name, str); } return(true); } return(false); }