J'essaie de désérialiser json en un objet C#. Le json ressemble essentiellement à ceci :
{ "hexValue": "0x9a7f" }
Mon POCO ressemble à ceci :
public class HexTest
{
public int hexValue;
}
J'ai lu dans un lien de cette question que Newtonsoft supporte la désérialisation des valeurs hexagonales. Mais pour être juste, ces notes de mise à jour ont été publiées il y a dix ans. J'ai même lu dans du code source sur github publié ici ce qui semble être du code pour désérialiser une chaîne formatée en hexadécimal qui commence par "0x". Pourtant, lorsque j'essaie de désérialiser une valeur hexagonale, j'obtiens toujours l'exception suivante :
Impossible de convertir une chaîne en int : 0x9a7f.
Peu importe le type que j'essaie. J'ai essayé d'utiliser int long decimal Decimal, etc... En lisant la source, il semblait que le type Decimal aurait dû fonctionner, mais rien ne fonctionne. Est-ce que Newtonsoft a vraiment un support pour convertir des valeurs hexadécimales définies comme des chaînes de caractères en un type de données numériques quelconque ?
Bien sûr, je sais que je peux utiliser les informations contenues dans la question dont j'ai donné le lien ci-dessus pour mettre en œuvre un support personnalisé, mais je préférerais vraiment utiliser le support intégré s'il existe.