 <p>You can create a custom converter that tries to read an array of integers, and returns an empty array if the data isn't correct:</p> <pre><code>class MyCustomInt32ArrayConverter : JsonConverter { public override object ReadJson( JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer) { var array = serializer.Deserialize(reader) as JArray; if (array != null) { return array.Where(token =&gt; token.Type == JTokenType.Integer) .Select(token =&gt; token.Value&lt;int&gt;()) .ToArray(); } return new int[0]; } public override void WriteJson( JsonWriter writer, Object value, JsonSerializer serializer) { serializer.Serialize(writer, value); } public override bool CanConvert(Type objectType) { return objectType == typeof(int[]); } } </code></pre> <p>Just apply the converter to the property using the <code>JsonConverterAttribute</code> attribute :</p> <pre><code>[JsonConverterAttribute(typeof(MyCustomInt32ArrayConverter))] [JsonProperty("my_test_property_json_key", NullValueHandling = NullValueHandling.Ignore)] public int[] MyTestProperty{ get; set; } </code></pre>