#javascript #c# #asp.net #.net #json
#javascript #c# #asp.net #.net #json
Вопрос:
Я возвращаю свои данные из своего контроллера пользовательского интерфейса, и у меня есть два объекта одного типа в данных, которые являются определенной сущностью. Вы можете видеть, что они оба содержат значения, и если вы полностью развернете их, им будут присвоены правильные значения.
Теперь, если вы посмотрите в javascript, он теряет все значения для второго объекта того же типа. Я показываю один из объектов данных в консоли
Мне просто интересно, знает ли кто-нибудь, что происходит, и возможно ли передать объект данных с помощью Json, который содержит две сущности одного типа для каждого объекта данных.
Спасибо!
Комментарии:
1. Похоже, у вас включено сохранение ссылок на объекты в сериализаторе JSON. Проверьте newtonsoft.com/json/help/html/PreserveObjectReferences.htm .
2. Да, я считаю, что вы правы. Собираюсь разобраться в этом.
Ответ №1:
Этот javascript исправил мою проблему, поскольку теперь ссылочные значения выглядят как фактические значения. Я знаю, что 4 жестко запрограммированы, но в возвращаемом наборе есть только каждые 4 элемента, и они всегда имеют одинаковые значения для них, за исключением одного столбца, поэтому жестко запрограммированное значение 4 приемлемо в этом случае.
options.data.forEach(function (element) {
if (element.FromCurrency.$ref == 4 amp;amp; element.ToCurrency.$ref == 4) {
element.FromCurrency = options.data.find(x => x.ToCurrency.$id = '4').ToCurrency;
element.ToCurrency = options.data.find(x => x.ToCurrency.$id = '4').ToCurrency;
}
else if (element.ToCurrency.$ref == 4) {
element.ToCurrency = options.data.find(x => x.ToCurrency.$id = '4').ToCurrency;
}
});