Я использую NEST для индексации своих объектов и сталкиваюсь с ошибкой Newtonsoft при сериализации. Один из моих объектов имеет цикл самореференции. Будет ли у меня способ получить доступ к JsonSerializer и изменить способ обработки ссылок на себя без необходимости изменения исходного кода?
Ошибка сериализации с Elasticsearch NEST/C#
Ответы (2)
Вы можете зарегистрировать пользовательские конвертеры на своем клиенте:
public void AddConverter(JsonConverter converter)
{
this.IndexSerializationSettings.Converters.Add(converter);
this.SerializationSettings.Converters.Add(converter);
}
Это может помочь.
Однако нет прямого способа изменить JsonSerializerSettings
, используемый в клиенте.
person
Martijn Laarman
schedule
30.01.2013
Если я разветвлю проект и сделаю JsonSerializerSettings свойством с общедоступным геттером, вы его вытащите?
- person Roly; 30.01.2013
Я сделаю это, я мог бы посмотреть на то, чтобы выставить материал Json в более единообразном виде, чтобы можно было использовать другие сериализаторы, но пока это устранит зуд, поэтому я потяну :)
- person Martijn Laarman; 30.01.2013
Теперь есть новый API, взгляните на:
var cs2 = new ConnectionSettings(new Uri("http://localhost:9200"))
.SetJsonSerializerSettingsModifier(settings => settings.TypeNameHandling = TypeNameHandling.None)
.EnableTrace();
Спасибо за добавление поддержки!
person
Mikl X
schedule
26.07.2014