c# - jsonconverter - json net deserialize list
Json.Net PopulateObject Anexando lista en lugar de establecer un valor (1)
Estoy usando Json.Net para .Net 4.5 y cuando uso el objeto de rellenar en el siguiente objeto, incrementa la lista con el contenido del json en lugar de establecer su valor.
Json.Net
JsonConvert.PopulateObject(string, object)
Clase
class MySettingSubClass
{
public List<string> MyStringList1 = new List<string>(){"one", "two", "three"}
}
class MySetting
{
public string MyString = "MyString";
public int MyInt = 5;
public MySettingSubClass MyClassObject = new MySettingSubClass();
public List<string> MyStringList2 = new List<string>{"one", "two", "three"};
}
Cuando se cargan inicialmente, todo es correcto; sin embargo, al volver a cargar desde JSON, ambas MyStringLists están duplicadas "one", "two", "three", "one", "two", "three"
Debería decirle a Json.Net que reemplace los arreglos, de esta manera:
var serializerSettings = new JsonSerializerSettings {ObjectCreationHandling = ObjectCreationHandling.Replace};
JsonConvert.PopulateObject(jasonString, myObject, serializerSettings)