public void Should_register_converters_when_asked() { // Given var defaultSerializer = new JavaScriptSerializer(); var configuration = new JsonConfiguration(Encoding.UTF8, new[] { new TestConverter() }, new[] { new TestPrimitiveConverter() }, false, false); // When var serializer = new JavaScriptSerializer(configuration, true, GlobalizationConfiguration.Default); var data = new TestData() { ConverterData = new TestConverterType() { Data = 42, }, PrimitiveConverterData = new TestPrimitiveConverterType() { Data = 1701, }, }; const string ExpectedJSON = @"{""converterData"":{""dataValue"":42},""primitiveConverterData"":1701}"; // Then serializer.Serialize(data).ShouldEqual(ExpectedJSON); serializer.Deserialize<TestData>(ExpectedJSON).ShouldEqual(data); }
private INancyEnvironment GetTestingEnvironment(JsonConfiguration configuration) { var environment = new DefaultNancyEnvironment(); environment.AddValue(configuration); return environment; }
/// <summary> /// Creates an instance of <see cref="JavaScriptSerializer"/> /// </summary> /// <param name="jsonConfiguration">A <see cref="JsonConfiguration"/> object to configure the serializer</param> /// <param name="globalizationConfiguration">A <see cref="GlobalizationConfiguration"/> object to configure the serializer</param> public JavaScriptSerializer(JsonConfiguration jsonConfiguration, GlobalizationConfiguration globalizationConfiguration) { this.jsonConfiguration = jsonConfiguration; this.globalizationConfiguration = globalizationConfiguration; this.serializerStrategy = new NancySerializationStrategy(jsonConfiguration.RetainCasing, jsonConfiguration.SerializeEnumToString); }
/// <summary> /// Initializes a new instance of the <see cref="JsonBodyDeserializer"/>, /// with the provided <paramref name="environment"/>. /// </summary> /// <param name="environment">An <see cref="INancyEnvironment"/> instance.</param> public JsonBodyDeserializer(INancyEnvironment environment) { this.configuration = environment.GetValue<JsonConfiguration>(); }
/// <summary> /// Creates an instance of <see cref="JavaScriptSerializer"/> /// </summary> /// <param name="configuration">A <see cref="JsonConfiguration"/> object to configure the serializer</param> public JavaScriptSerializer(JsonConfiguration configuration) { this.serializerStrategy = new NancySerializationStrategy(configuration.RetainCasing); }