Jump to content
maca134

Arma (De)Serializer - C# Extensions

Recommended Posts

This is a package that contains a JsonConvertor for the Newtonsoft.Json package in C#. It's purpose is to convert between C# data types and ARMA data types.

If you have used Newtonsoft.Json you will be familar with mapping C# properties to Json properties and vise versa.

You can download it here https://www.nuget.org/packages/Maca134.Arma.Serializer/ or Maca134.Arma.Serializer in Nuget. Also source is on Github https://github.com/maca134/Maca134.Arma.Serializer.

 

Here is a very basic example:

public class TestClass
{
    public string Var1 { get; set; }
    public string[] Var1A { get; set; }
    public int Var2 { get; set; }
    public float Var3 { get; set; }
    public bool Var4 { get; set; }
    public TestClassInner Var5 { get; set; }
    public List<string> Var1B { get; set; }
}
public class TestClassInner
{
    public string Var1 { get; set; }
    public int Var2 { get; set; }
    public float Var3 { get; set; }
    public bool Var4 { get; set; }
}
var testData = new TestClass
{
    Var1 = "he\"llo",
    Var1A = new[] {"1", "2", "3"},
    Var1B = new List<string> { "1", "2", "3" },
    Var2 = 1,
    Var3 = 1.2f,
    Var4 = false,
    Var5 = new TestClassInner
    {
        Var1 = "h\"ello",
        Var2 = 1,
        Var3 = 1.2f,
        Var4 = false,
    }
};

/* Returns: ["he""llo",["1","2","3"],1,1.2,false,["h""ello",1,1.2,false],["1","2","3"]] */
var str = ArmaArrayConvert.SerializeObject(testData);

/* Returns the reconstructed object */
var obj = ArmaArrayConvert.DeserializeObject<TestClass>(str);

I fairly sure I have covered all the types but there maybe missing bits.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×