Пример #1
0
        public void when_encoding_an_object_with_custom_naming_of_property_it_should_decode_taking_into_account_custom_property_name()
        {
            var CombinedResolverStrategy = new CombinedResolverStrategy(
                new JsonResolverStrategy(),
                new DataContractResolverStrategy(),
                new XmlResolverStrategy(),
                new ConventionResolverStrategy(ConventionResolverStrategy.WordCasing.PascalCase),
                new ConventionResolverStrategy(ConventionResolverStrategy.WordCasing.CamelCase),
                new ConventionResolverStrategy(ConventionResolverStrategy.WordCasing.Lowercase, "-"),
                new ConventionResolverStrategy(ConventionResolverStrategy.WordCasing.Uppercase, "_"));

            IEnumerable <IDataWriter> writers = new List <IDataWriter>
            {
                new JsonWriter(new DataWriterSettings(CombinedResolverStrategy), HttpContentTypes.ApplicationJson)
            };

            var encoder = new DefaultEncoder(new RegExBasedDataWriterProvider(writers));

            var customObject = new CustomNamedObject {
                UpperPropertyName = "someValue"
            };

            var encoded = encoder.Encode(customObject, HttpContentTypes.ApplicationJson);

            var str = System.Text.Encoding.UTF8.GetString(encoded);

            StringAssert.Contains("upperPropertyName", str);
        }
Пример #2
0
    private void Start()
    {
        var resolver = new CombinedResolverStrategy
            (
                new JsonResolverStrategy()
            ); 

        JsonInitClass _instance = new JsonInitClass();

        Debug.Log (_instance.EquipedWeapon);
        Debug.Log (_instance.FNum);
        Debug.Log (_instance.BValue);

        DataWriterSettings dataWriterSettings = new DataWriterSettings(resolver);

        JsonReader reader = new JsonReader(new DataReaderSettings(resolver));

        JsonWriter writer = new JsonWriter(dataWriterSettings);

        string json = writer.Write(new Ololo());

        _instance = reader.Read<JsonInitClass>(json);

        Debug.Log (_instance.EquipedWeapon);
        Debug.Log (_instance.FNum);
        Debug.Log (_instance.BValue);
    }
Пример #3
0
        public T Deserialise <T>(string json)
        {
            CombinedResolverStrategy resolver = new CombinedResolverStrategy(new JsonResolverStrategy());

            JsonReader reader = new JsonReader(new DataReaderSettings(resolver));

            return(reader.Read <T>(json));
        }
Пример #4
0
        public string Serialise <T>(T value)
        {
            CombinedResolverStrategy resolver = new CombinedResolverStrategy(new JsonResolverStrategy());

            JsonWriter writer = new JsonWriter(new DataWriterSettings(resolver));

            return(writer.Write(value));
        }
Пример #5
0
        public void when_decoding_an_object_with_custom_naming_of_property_should_decode_taking_into_account_custom_property_name()
        {
            var combinedResolverStrategy = new CombinedResolverStrategy(
                new JsonResolverStrategy(),
                new DataContractResolverStrategy(),
                new XmlResolverStrategy(),
                new ConventionResolverStrategy(ConventionResolverStrategy.WordCasing.PascalCase),
                new ConventionResolverStrategy(ConventionResolverStrategy.WordCasing.CamelCase),
                new ConventionResolverStrategy(ConventionResolverStrategy.WordCasing.Lowercase, "-"),
                new ConventionResolverStrategy(ConventionResolverStrategy.WordCasing.Uppercase, "_"));

            IEnumerable <IDataReader> readers = new List <IDataReader>
            {
                new JsonReader(new DataReaderSettings(combinedResolverStrategy), HttpContentTypes.ApplicationJson)
            };

            var decoder = new DefaultDecoder(new RegExBasedDataReaderProvider(readers));

            var obj = decoder.DecodeToStatic <CustomNaming>("{\"abc\":\"def\"}", "application/json");

            Assert.AreEqual("def", obj.PropertyName);
        }
        public void GetTokens_MultipleConventions_ReturnsData()
        {
            var input = new CustomNamedObject
            {
                UpperPropertyName = "Foo.",
                OtherPropertyName = "Bar."
            };

            var expected = "{\"upperPropertyName\":\"Foo.\",\"arbitraryOther\":\"Bar.\"}";

            var resolver = new CombinedResolverStrategy(
                new JsonResolverStrategy(),
                new DataContractResolverStrategy(),
                new XmlResolverStrategy(),
                new ConventionResolverStrategy(ConventionResolverStrategy.WordCasing.PascalCase),
                new ConventionResolverStrategy(ConventionResolverStrategy.WordCasing.CamelCase),
                new ConventionResolverStrategy(ConventionResolverStrategy.WordCasing.Lowercase, "-"),
                new ConventionResolverStrategy(ConventionResolverStrategy.WordCasing.Uppercase, "_"));

            var actual = new JsonWriter(new DataWriterSettings(resolver)).Write(input);

            Assert.Equal(expected, actual, false);
        }