Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

208
Views
¿Cómo pasar una matriz 2d de números a mi controlador .Net?

Tengo una matriz de javascript 2d como esta

 [[2,3],[13,4],[1,19]]

y quiero pasarlo a mi controlador .Net

El encabezado de mi controlador se ve así

 public async Task<ActionResult> UpdateOrder(int[,] order)

Mi llamada put se ve así

 updateOrder(order: number[][]): Observable<any> { return this.http.put(this.baseUrl + 'members/edit/set-order/' + order, {}); }

pero recibo un error cuando presiono el controlador diciendo:

'No se puede deserializar el objeto JSON actual (por ejemplo, {"nombre":"valor"}) en el tipo 'System.Int32[,]' porque el tipo requiere una matriz JSON (por ejemplo, [1,2,3]) para deserializar correctamente. \nPara corregir este error, cambie el JSON a una matriz JSON (por ejemplo, [1,2,3]) o cambie el tipo deserializado para que sea un tipo .NET normal (por ejemplo, no un tipo primitivo como un entero, no un tipo de colección como una matriz o una lista) que se puede deserializar desde un objeto JSON. JsonObjectAttribute también se puede agregar al tipo para obligarlo a deserializarse de un objeto JSON.\nRuta '', línea 1, posición 2.'

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Creo que es posible que deba usar el tipo List<List<int>> en lugar de int[,] en C# del serializador C# JSON predeterminado

 public async Task<ActionResult> UpdateOrder(List<List<int>> order)
about 4 years ago · Juan Pablo Isaza Report

0

No necesita pasar por la deserialización (manual) y no necesita un List<List<int>> . Puedo pasar una matriz 2d de int s con una carga útil como [[1,2],[3,4],[5,6]] y la siguiente interfaz API.

public async Task<IActionResult> Test(int [,] ints)

¿No es su URL en la solicitud? Trata el order como una cadena para enviar a la URL y el cuerpo está vacío. Y cuando el cuerpo está vacío, ves ese error que estás recibiendo. Creo que lo que necesitas es:

return this.http.put('yourUrl', order, {});

Ver puesto . (asumiendo Angular)

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!