0
我第一次實現了一個從Web客戶端接收JObject然後反序列化到我感興趣的對象的WebAPI POST。 但是當我檢查生成的對象時,我發現所有的字段都被適當地填充,除了那些意味着整數的字段。整數類型的JSON反序列化錯誤 - C#
這是我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": "[email protected]",
"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;
}
所以,在調試的時候我看到這個:
我失去了爲什麼它正確解析每一個其他類型,但int。 關於此主題的任何建議?我需要強調的是我之前從未使用過WebAPI。
您的屏幕截圖中只有一個int,它看起來與JSON中的值相同。究竟是什麼問題? – moreON
你是否在客戶端設置了任何內容類型標題,特別是在ur angular應用程序的http.post方法中?爲什麼不直接將發佈的值綁定到Presupuesto對象? –
@moreON這裏唯一的int是iCantidad,它被設置爲0x0000007a(這是什麼?一個內存位置?)。它不應該是122,就像我在JSON中提交的int? – emmaielle