Jump to content
🛡️FORUMS ARE IN READ-ONLY MODE Read more... ×
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

×