seguente è il mio ingresso JSON da Ui:Ricezione oggetto deserializzare JSON come stringa nel controllore API Web
{
"data": [{
"Id": 1
}, {
"Id": 2
}, {
"Id": 3
}]
}
posso riceverlo senza un problema nella struttura dell'oggetto mostrato di seguito:
public class TestController : ApiController
{
/// <summary>
/// Http Get call to get the Terminal Business Entity Wrapper
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost]
[Route("api/TestJsonInput")]
public string TestJsonInput([FromBody] TestInput input)
{
return JsonConvert.SerializeObject(input.data);
}
public class TestInput
{
public List<Info> data { get; set; }
}
public class Info
{
public int Id { get; set; }
}
}
Tuttavia il mio obiettivo è quello di ricevere nel seguente metodo API:
[HttpPost]
[Route("api/TestJsonInput")]
public string TestJsonInput1([FromBody] string input)
{
return input;
}
Motivo per questo requisito è, ho non utilizzare l'oggetto JSON de-serializzato via Web API, ho solo bisogno di persistere l'effettivo Json nel Database e recuperare e restituire a Ui, che lo analizzerà indietro.
Dato che non sono in grado di ricevere nell'input della stringa come suggerito, quindi devo eseguire un ulteriore passaggio della serializzazione Json, de-serializzazione per raggiungere l'obiettivo. Qualsiasi meccanismo per me per evitare questa soluzione alternativa ricevendo in una stringa e utilizzandolo direttamente. Attualmente sto testando con Postman
Che dire di avere più input di stringa, presumo che questa sarebbe una singola stringa Json, che deve essere analizzata –
Anche io non lo sto avendo in Body ora, quindi come posso testare lo stesso da Postman, dove fa il l'input va in questo caso –
Funziona per me nel contesto attuale, grazie kudos :) –