Json.NET version: Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed
Initial JSON: 
[
  {
    "MyStringArray": [
      "stringInput1",
      "stringInput2"
    ],
    "MyCharArray": [
      "a",
      "b",
      "c",
      "."
    ],
    "MyString": "dummy",
    "MyClass3Object": [
      {
        "MyString": "ListInput1",
        "MyRegex": {
          "Pattern": "[A-Z]",
          "Options": 0
        }
      },
      {
        "MyString": "ListInput2",
        "MyRegex": {
          "Pattern": "[0-9]",
          "Options": 0
        }
      }
    ]
  }
]
Deserialized and re-serialized JSON: 
[
  {
    "MyStringArray": [
      "stringInput1",
      "stringInput2"
    ],
    "MyCharArray": [
      "a",
      "b",
      "c",
      "."
    ],
    "MyString": "dummy",
    "MyClass3Object": [
      {
        "MyString": "ListInput1",
        "MyRegex": {
          "Pattern": "[A-Z]",
          "Options": 0
        }
      },
      {
        "MyString": "ListInput2",
        "MyRegex": {
          "Pattern": "[0-9]",
          "Options": 0
        }
      }
    ]
  }
]
Initial and re-serialized are equivalent.
;