Azure Functions: Creare un JSON sfruttando le ActionResults

Tornare un JSON dalle Azure Functions e’ una delle operazioni piu frequenti di quanto possa capitare. La domanda che ci si puo’ chiedere e’ la seguente:

come lo posso creare questo JSON?

La soluzione di utilizzare Newtonsoft.Json.JsonConvert.SerializeObject può essere quella più scontata, ma non sempre è conveniente.

Ora vediamo un “Piano B” per semplificare il tutto!

Azure Functions: Creare un JSON sfruttando le ActionResults

Ora vi mostro il codice di una Azure Functions attivabile tramite ENDPoint GET per ottenere il JSON tramite l’utilizzo di ActionResults.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
[FunctionName("GetPeopleDetails")]
public static async Task<IActionResult> Run(
	[HttpTrigger(AuthorizationLevel.Function, "get", Route = null)] HttpRequest req,
	ILogger log)
{
	var json = new
	{
		FirstName = "Andrea",
		LastName = "Carratta",
		ID = 1,
		ParentID = 0
	};

	return new OkObjectResult(json);
}

Se avviate e chiamate la function GetPeopleDetails il risultato sarà il seguente:

{“firstName”:“Andrea”,“lastName”:“Carratta”,“id”:1,“parentID”:0}

Tips

Avete notato la differenza tra la definizione in C# e l’output a video?

  • In C# l’associazione tra chiave / valore viene fatta tramite =
  • Tornando OkObjectResult il json finale avrà l’associazione tra chiave / valore viene fatta tramite :

Vi state domandando perché non abbia usato Newtonsoft come faccio spesso? Se posso a volte evito di creare classi nel codice se saranno utilizzate esclusivamente per il ritorno e non più utilizzate nel codice.