Skip to content
/ JsonCF Public

A lightweight JSON serializer and deserializer for the .NET Compact Framework (v2.0).

Notifications You must be signed in to change notification settings

leotso/JsonCF

Repository files navigation

JsonCF is lighweight and easy to use. It can be used from both the Compact Framework (v2.0+) or the .NET framework (v2.0+). The source
code leverages linked-files to build assemblies which target each framework.

The quickest way to get started is by using the Serialize and Deserialize static methods which accepts an object and a string respectively:

//serialize
string json = Converter.Serialize(new User("name", "password", AccountStatus.Enabled));
//or to a file
Converter.Serialize("out.txt", new int[]{1,2,3});

//deserialize
User user = Converter.Deserialize<User>(json);
//or from a file
int[] values = Converter.DeserializeFormFile<int[]>("out.txt");

Overloads are available to serialize/desirialize from a stream or a file (to deserialize from a file, use the DeserializeFromFile static method)

If you don't want a field serialized, mark it with the System.NonSerializedAttribute.

If you want to also include the fields from the base-class, mark the class witht he CodeBetter.Json.SerializeIncludingBase attribute. This must
be placed on each class in the hierachy. Once a class is found that doesn't have the attribute, we stop navigating down the field.

I do want to work out a good naming strategy. For now, the static Serialize and Deserialize methods accept a last parameter called "FieldPrefix". 
When serializing, this value will be stripped from the names (_userName --> userName). While deserializing, the prefix is appending (assuming
it isn't already there).



About

A lightweight JSON serializer and deserializer for the .NET Compact Framework (v2.0).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages