Выходной сигнал ответа от содержимого JObject в приложении сформирован неправильно.
Сужая проблему до минимально возможного размера, должны быть некоторые недостающие детали, которые вызывают такое поведение (очень маловероятно, что это другая причина).
В следующем коде показано, что полезная нагрузка JSON является ответом от конечной точки API:
[HttpPost]
public async Task<ObjectResult> Post()
{
var json = JsonConvert.DeserializeObject<JObject>(
@"{""parameter-1"":""J234546ZrVl"",""value-2"":""3E9CY3gertertmdALWMmHkvP"",""test-3"":""verify please""}");
var result = new ObjectResult(json);
return result;
}
Ответ получен как:
{"parameter-1":[],"value-2":[],"test-3":[]}
И должно быть:
{"parameter-1":"J234546ZrVl","value-2":"3E9CY3gertertmdALWMmHkvP","test-3":"verify please"}
При отладке переменная json
верна и имеет все значения свойств, но почему-то не отображается правильно.
Любые идеи?
- Используется: ASP Net Core 5.0
- ObjectResult определяется в:
namespace Microsoft.AspNetCore.Mvc
- Его конструктор:
public ObjectResult(object value);
- И имеет интерфейсы:
public class ObjectResult : ActionResult, IStatusCodeActionResult, IActionResult
ObjectResult
не понимает динамическую обработку вJObject
. - person Lasse V. Karlsen   schedule 03.06.2021JObject
на _ 2_, т.е.var json = System.Text.Json.JsonSerializer.Deserialize<JsonElement>(jsonString);
. См. Эквивалент JObject в System.Text.Json. - person dbc   schedule 03.06.2021