Код: Выделить всё
using System;
using System.Text.Json;
public class Program
{
public static void Main()
{
int id = 9;
string str = "{\"id\": " + id + "}";
var u = JsonSerializer.Deserialize(str);
Console.WriteLine($"User ID: {u.Id}, Correct: {id == u.Id}"); // always 0/init/default value
}
}
public class User {
public int Id { get; set; }
}
< /code>
Почему данные не десериализуются должным образом в объект пользователя < /code>? Я также проверил поведение через DotnetFiddle на случай, если это была проблема, локальная для моей системы. Исключение не добавлено. Он вызван в моем проекте MVC/Razor через _httpclient.postasync
Я изначально думал, что это может быть связанный с UTF. Apicontroller . Уточнение UTF8 здесь упоминается, но у меня были проблемы с получением от io.Stream of httpcontent в readonlyspan или utf8jsonreader .
Я нашел этот проект при поиске, который заставляет меня думать, как я ожидал.>
Подробнее здесь: https://stackoverflow.com/questions/601 ... lize-fails