Я пытаюсь десериализовать json в объект C#. json в основном выглядит так:
{ "hexValue": "0x9a7f" }
Мой POCO выглядит так:
public class HexTest
{
public int hexValue;
}
Я прочитал ссылку из этот вопрос , который Newtonsoft поддерживает десериализацию шестнадцатеричных значений. Но, честно говоря, эти примечания к выпуску были опубликованы десять лет назад go. Я даже читал в некотором исходном коде на github, опубликованном здесь , что похоже на код десериализации строки в шестнадцатеричном формате, которая начинается с «0x». Тем не менее, когда я пытаюсь десериализовать шестнадцатеричное значение, я всегда получаю следующее исключение:
Не удалось преобразовать строку в int: 0x9a7f.
Это не имеет значения какого типа пробую. Я пробовал использовать int long decimal Decimal, et c ... При чтении источника казалось, что тип Decimal должен работать, но ничего не работает. Действительно ли Newtonsoft поддерживает преобразование шестнадцатеричных значений, определенных как строки, в какой-либо тип данных numeri c?
Конечно, я знаю, что могу использовать информацию в вопросе, на который я ссылался выше, для реализации настраиваемой поддержки для этого, но я бы предпочел использовать встроенную поддержку, если она есть.