newtonsoft net jsonconverter example deserializeobject deserialize custom c# .net json json.net

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)