Я реализовал модульный тест, чтобы вызвать конечную точку патча, используя «System.text.json» для сериализации данных и отправки его в качестве контента. Я всегда получал плохую просьбу, пока не узнал, что сериализатор инкапсулирует весь патч документ в список «Операции» и добавил свойство под названием «Contractresolver». < /P>
Моя работа была Используйте Newtonsoft.json Serializer, который, по крайней мере, по умолчанию, не добавляет дополнительное свойство и работает должным образом, поскольку API принимает JSondocumentPatch. JSON "Serializer работает таким образом, а не просто конвертируется в JSON, как Newtonsoft? Или, если можно что -то настроить, чтобы предотвратить это. Я не хочу использовать оба сериализатора в проекте ..
oh, и я использую .net6 с последними пакетами Nuget (до даты этого поста) < /p>
Я был документацией, и ничего не возникает в отношении этого.
Некоторый пример кода для сериализации: < /p>
var patchOperations = new JsonPatchDocument();
patchOperations.Replace(m => m.IntValue, 123);
patchOperations.Remove(m => m.StringValue);
var systemSerializer = JsonSerializer.Serialize(patchOperations);
var newtonSerializer = JsonConvert.SerializeObject(patchOperations);
Результаты:
systemserializer
{
"Operations":[
{
"value":123,
"OperationType":2,
"path":"/IntValue",
"op":"replace",
"from":null
},
{
"value":null,
"OperationType":1,
"path":"/StringValue",
"op":"remove",
"from":null
}
],
"ContractResolver":{
}
}
Newtonserializer
[
{
"value":123,
"path":"/IntValue",
"op":"replace"
},
{
"path":"/StringValue",
"op":"remove"
}
]
Подробнее здесь: https://stackoverflow.com/questions/716 ... t-resolver
System.text.json Contract Resolver ⇐ C#
Место общения программистов C#
1739769184
Anonymous
Я реализовал модульный тест, чтобы вызвать конечную точку патча, используя «System.text.json» для сериализации данных и отправки его в качестве контента. Я всегда получал плохую просьбу, пока не узнал, что сериализатор инкапсулирует весь патч документ в список «Операции» и добавил свойство под названием «Contractresolver». < /P>
Моя работа была Используйте Newtonsoft.json Serializer, который, по крайней мере, по умолчанию, не добавляет дополнительное свойство и работает должным образом, поскольку API принимает JSondocumentPatch. JSON "Serializer работает таким образом, а не просто конвертируется в JSON, как Newtonsoft? Или, если можно что -то настроить, чтобы предотвратить это. Я не хочу использовать оба сериализатора в проекте ..
oh, и я использую .net6 с последними пакетами Nuget (до даты этого поста) < /p>
Я был документацией, и ничего не возникает в отношении этого.
Некоторый пример кода для сериализации: < /p>
var patchOperations = new JsonPatchDocument();
patchOperations.Replace(m => m.IntValue, 123);
patchOperations.Remove(m => m.StringValue);
var systemSerializer = JsonSerializer.Serialize(patchOperations);
var newtonSerializer = JsonConvert.SerializeObject(patchOperations);
Результаты:
[b] systemserializer [/b]
{
"Operations":[
{
"value":123,
"OperationType":2,
"path":"/IntValue",
"op":"replace",
"from":null
},
{
"value":null,
"OperationType":1,
"path":"/StringValue",
"op":"remove",
"from":null
}
],
"ContractResolver":{
}
}
[b] Newtonserializer [/b]
[
{
"value":123,
"path":"/IntValue",
"op":"replace"
},
{
"path":"/StringValue",
"op":"remove"
}
]
Подробнее здесь: [url]https://stackoverflow.com/questions/71629085/system-text-json-contract-resolver[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия