using System.Collections.Generic;
using System.Text.Json.Serialization;
public static void Main()
var json="{\"message\":\"Thecurrencyidfieldisrequired.(and7moreerrors)\",\"error\":\"HTTPrequestreturnedstatuscode422:\\n{\\\"message\\\":\\\"Thecurrencyidfieldisrequired.(and7moreerrors)\\\",\\\"errors\\\":{\\\"currency_id\\\":[\\\"Thecurrencyidfieldisr(truncated...)\\n\",\"errors\":{\"message\":\"Thecurrencyidfieldisrequired.(and7moreerrors)\",\"errors\":{\"currency_id\":[\"Thecurrencyidfieldisrequired.\"],\"product_id\":[\"Theproductidfieldisrequired.\"],\"start_at\":[\"Thestartatfieldisrequired.\"],\"end_at\":[\"Theendatfieldisrequired.\"],\"deposit_at\":[\"Thedepositatfieldisrequired.\"],\"details\":[\"Thedetailsfieldisrequired.\"],\"applicants\":[\"Theapplicantsfieldisrequired.\"],\"destinations\":[\"Thedestinationsfieldisrequired.\"]}},\"meta\":{\"type\":\"Battleface\\\\Common\\\\Exceptions\\\\SystemException\"}}";
var p= JsonConvert.DeserializeObject<ApiErrorResponse>(json);
Console.WriteLine(p.Message);
Console.WriteLine(p.Meta);
foreach(var pa in p.Errors.Errors)
Console.WriteLine(pa.Key);
foreach(var h in pa.Value){
public class ApiErrorResponse
[JsonPropertyName("message")]
public string Message { get; set; }
[JsonPropertyName("error")]
public string Error { get; set; }
[JsonPropertyName("errors")]
public ErrorDetails Errors { get; set; }
[JsonPropertyName("meta")]
public MetaInfo Meta { get; set; }
public class ErrorDetails
[JsonPropertyName("message")]
public string Message { get; set; }
[JsonPropertyName("errors")]
public Dictionary<string, List<string>> Errors { get; set; }
[JsonPropertyName("type")]
public string Type { get; set; }