У API есть конечная точка, которая возвращает объекты, структурированные следующим образом:
Код: Выделить всё
public record Item(string Key, JsonElement Value);
Воспроизведение проблемы:
Код: Выделить всё
var options = new JsonSerializerOptions
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
};
/*
JsonElement of type String results in:
{
"key": "1",
"value": "StringValue"
}
*/
var stringItem = JsonSerializer.Serialize(
new Item(
Key: "1",
Value: JsonSerializer.SerializeToElement("StringValue")
),
options
);
/*
JsonElement of type JsonElement results in:
{
"key": "1",
"value": {
"Property1": "P1",
"Property2": "P2"
}
}
instead of:
{
"key": "1",
"value": {
"property1": "P1",
"property2": "P2"
}
}
*/
var jsonItem = JsonSerializer.Serialize(
new Item(
Key: "1",
Value: JsonSerializer.SerializeToElement(new
{
Property1 = "P1",
Property2 = "P2"
})
),
options
);
Подробнее здесь: https://stackoverflow.com/questions/791 ... red-casing