Я новичок в C#, и мне интересно, как можно было бы go о приведении строителя строк к структуре JSON? Я использую функцию SQL FOR JSON, и она возвращает JSON в несколько строк. Я складываю строки, чтобы получить строку, и таким образом приводю ее к JSON. Я получаю эту ошибку при компиляции, однако это было самое близкое решение, которое я нашел. Кажется, что C# довольно строго с типами данных
Аргумент ошибки 1: невозможно преобразовать из 'System.Text.StringBuilder' в 'System.ReadOnlySpan' WebApiSwagger
public class AlgReadingChannel
{
/// <example>1</example>
[Required]
public int chanNo { get; set; }
}
public class AlgReadingInner
{
/// <example>2020-03-12T16:41:43.017</example>
public string Created { get; set; }
/// <example>2020-03-12T16:41:43.017</example>
public string Modified { get; set; }
/// <example>24867</example>
public int ReadingID { get; set; }
/// <example>2323</example>
public string Name { get; set; }
/// <example>Starting</example>
public string Reading { get; set; }
/// <example></example>
public string State { get; set; }
/// <example>X</example>
public string Site { get; set; }
/// <example>Main</example>
[Required]
public IList<AlgReadingChannel> v { get; set; }
}
/// <summary>
/// Represents AlgReading parent class
/// </summary>
public class AlgReadingOuter
{
/// <example>5137</example>
[Required]
public int AnalogID { get; set; }
/// <example>E360EC39-7B0F-42A1-B125-2298SHDE53</example>
[Required]
public string SiteID { get; set; }
/// <example>2020-03-12T09:41:43</example>
[Required]
public string EntryDateTime { get; set; }
[Required]
public IList<AlgReadingInner> t { get; set; }
}
var stringBuilder = new StringBuilder();
var docs = new List<AlgReadingOuter>();
stringBuilder.Append([{
"AnalogID": 5137,
"SiteID": "E360EC39-7B0F-42A1-B125-22C1F6C5DE53",
"EntryDateTime": "2020-03-12T09:41:43",
"t": [{
"Created": "2020-03-12T16:41:43.017",
"Modified": "2020-03-12T16:41:43.017",
"ReadingID": 24867,
"Name": "ABC",
"Reading": "Starting",
"State": "X",
"Site": "Main",
"v": [{
"chanNo": 1
}]
},
{
"Created": "2020-03-12T16:41:43.017",
"Modified": "2020-03-12T16:41:43.017",
"ReadingID": 24868,
"Name": "bar",
"Reading": "Starting",
"State": "X",
"Site": "Main",
"v": [{
"chanNo": 2
}]
},
{
"Created": "2020-03-12T16:41:43.017",
"Modified": "2020-03-12T16:41:43.017",
"ReadingID": 24869,
"Name": "foo",
"Reading": "Starting",
"State": "X",
"Site": "Main",
"v": [{
"chanNo": 3
}]
},
{
"Created": "2020-03-12T16:41:43.017",
"Modified": "2020-03-12T16:41:43.017",
"ReadingID": 24870,
"Name": "Test",
"Reading": "Starting",
"State": "X",
"Site": "Aux",
"v": [{
"chanNo": 4
}]
},
{
"v": [{
"chanNo": 30
},
{
"chanNo": 32
},
{
"chanNo": 39
},
{
"chanNo": 56
},
{
"chanNo": 69
},
{
"chanNo": 71
},
{
"chanNo": 79
},
{
"chanNo": 82
},
{
"chanNo": 87
}]
}]
}]);
var algReading = JsonSerializer.Deserialize<AlgReadingOuter>(stringBuilder);
docs.Add(algReading);