public static T DeserializeData <T>(string searchString) where T : class { var jsonText = TestFileHelpers.GetTestFileContent(searchString); var contractResolver = new PrivateSetterJsonDefaultContractResolver(); var settings = new JsonSerializerSettings { ContractResolver = contractResolver, Converters = new[] { new TypeConverter() } }; return(JsonConvert.DeserializeObject <T>(jsonText, settings)); }
public static T DeserializeArrayWithSingleAlteration <T>(string searchString, object value, params object[] accessKeys) where T : class { var jsonText = TestFileHelpers.GetTestFileContent(searchString); var jArray = JArray.Parse(jsonText); switch (accessKeys.Length) { case 1: jArray[accessKeys[0]] = new JValue(value); break; case 2: jArray[accessKeys[0]][accessKeys[1]] = new JValue(value); break; case 3: jArray[accessKeys[0]][accessKeys[1]][accessKeys[2]] = new JValue(value); break; case 4: jArray[accessKeys[0]][accessKeys[1]][accessKeys[2]][accessKeys[3]] = new JValue(value); break; case 5: jArray[accessKeys[0]][accessKeys[1]][accessKeys[2]][accessKeys[3]][accessKeys[4]] = new JValue(value); break; case 6: jArray[accessKeys[0]][accessKeys[1]][accessKeys[2]][accessKeys[3]][accessKeys[4]][accessKeys[5]] = new JValue(value); break; default: throw new ArgumentOutOfRangeException(); } var contractResolver = new PrivateSetterJsonDefaultContractResolver(); var settings = new JsonSerializerSettings { ContractResolver = contractResolver, Converters = new[] { new TypeConverter() } }; return(JsonConvert.DeserializeObject <T>(jArray.ToString(), settings)); }