GraphQLHttpClient вложенная строка json с #
Я получаю этот ответ от конечной точки GraphQL:
"container": {
"id": "X",
"containerId": "XYZ",
"metaData":"{\"postnummer\": \"9000 Aalborg\", \"ejendomsnr\": \"12345\", \"kundenr\": \"12345\", \"address\": \"\Ågade 5 C, 9000 Aalborg\", \"vej\": \"\Ågade\", \"nr\": \"5 C\"}",
"wasteFraction": {
"wasteCategory": "Combustion",
"wasteSubstance": "Gaseous",
"wasteTypes": {
"edges": [
{
"node": {
"name": "Residual waste"
}
}
]
}
}
}
Моя проблема связана с атрибутом metaData, который сам по себе является строкой json, которую GraphQLHttpClient / NewtonsoftJsonSerializer, похоже, не обрабатывает.
Если я определяю свойство как объект с правильными свойствами, сериализация не удастся. Если я определяю метаданные как строку, мне потом придется вручную десериализовать их.
Это работает, но тогда мне нужно вручную десиализовать строку для каждого результата:
public class Container
{
public string id { get; set; }
public string containerId { get; set; }
public string metaData { get; set; }
public Wastefraction wasteFraction { get; set; }
}
public class MetaData
{
public string postnummer { get; set; }
public string husnr { get; set; }
public string postdistrikt { get; set; }
public string ejendomsnr { get; set; }
public string kundenr { get; set; }
public string address { get; set; }
public string vej { get; set; }
public string nr { get; set; }
}
Это не работает:
public class Container
{
public string id { get; set; }
public string containerId { get; set; }
public MetaData metaData { get; set; }
public Wastefraction wasteFraction { get; set; }
}
public class MetaData
{
public string postnummer { get; set; }
public string husnr { get; set; }
public string postdistrikt { get; set; }
public string ejendomsnr { get; set; }
public string kundenr { get; set; }
public string address { get; set; }
public string vej { get; set; }
public string nr { get; set; }
}
Можно ли заставить GraphQLHttpClient / NewtonsoftJsonSerializer автоматически обрабатывать эту вложенную jsonstring?