Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

202
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda