整数类型的JSON反序列化错误 - C#

时间:2017-06-06 22:44:48

标签: c# json asp.net-web-api deserialization

我首次在一个Angular客户端中实现了一个来自WebAPI的POST,该客户端收到一个JObject,然后我将其反序列化为我感兴趣的对象。 但是当我检查生成的对象时,我看到所有字段都被正确填充,除了那些意味着整数的字段。

这是我的POST方法的一部分

 // POST: api/PresupuestosApi
    [ResponseType(typeof(Presupuesto))]
    public async Task<IHttpActionResult> PostPresupuesto([FromBody]JObject presupuesto)
    {
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }
        try
        {
            Presupuesto p = presupuesto.ToObject<Presupuesto>();

我的JSON看起来像这样:

{  
"sTitulo": "Agentasa",  
"cSolicitante": 
{
    "eRol": "SOLICITANTE",
    "sEmail": "bla@sdlfkjsf.com",
    "iTelefono": "122299935",
    "sNombre": "Clau",
    "sApellido": "Clau"  
},  
"cTrabajo": 
{
    "SNombreTrabajo": "Agenda"  

},  
"sMaterial": "sadsa",  
"sDimAbierto": "12x22",  
"sDimCerrado": "12x155",  
"sImpresion": "Una cara",  
"fGramaje": 12.5,  
"iCantidad": 122,  
 }

我的Presupuesto课就是这样:

public class Presupuesto
{
    private int iIdPresupuesto;
    private string sTitulo;
    private Solicitante cSolicitante;
    private Trabajo cTrabajo;
    private string sMaterial;
    private string sDimAbierto;
    private string sDimCerrado;
    private float fGramaje;
    private string sImpresion;
    private int iCantidad;
  }

所以,调试时我看到了:

p object

我很遗憾为什么它正确解析所有其他类型但是int。 关于这个问题的任何建议?我需要强调的是,我之前从未使用过WebAPI。

1 个答案:

答案 0 :(得分:2)

12月的

0x0000007a十六进制= 122。检查调试器设置。调试器似乎设置为以十六进制显示整数。