89 votes

La valeur JSON n'a pas pu être convertie en System.Int32

Je veux envoyer des données d'objet à mon API Web. L'API accepte un paramètre de classe, dont les propriétés sont de type int et string.

Voici ma classe :

public class deneme
{
   public int ID { get; set; }
   public int sayi { get; set; }
   public int reqem { get; set; }
   public string yazi { get; set; }
}

Voici mon objet JSON :

{
   "id":0,
   "sayi":"9",
   "reqem":8,
   "yazi":"sss"
}

Je veux que l'API lise la propriété "sayi" en tant qu'entier. mais comme il ne peut pas, il donne l'erreur :

La valeur JSON n'a pas pu être convertie en System.Int32. Chemin : $.sayi

Comment pourrais-je résoudre ce problème ?

1voto

Moustachio Points 106

Dans le modèle js, assurez-vous que vos valeurs sont formatées en parseFloat();

1voto

Alejandro Points 75

Il y a une autre façon : créez simplement un DTO avec le type string pour les types de nombre et convertissez-le dans le contrôleur ou vers le type dont vous avez besoin.

-3voto

Gsanto Points 1

Peut être confronté à ce problème dans .net core, vous pouvez changer le type de données de int à int64

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X