Поэтому в настоящее время я работаю над экспериментом машинного обучения Azure. Я смог создать модель и опубликовать ее как веб-сервис. Я также смог получить ответ, используя образец кода запроса/ответа на C#, представленный в документации API, которая была создана при создании веб-службы.
Моя проблема в том, что ответ, предоставленный веб-службой, содержит много информации (длинную строку информации), включая оценку прогноза, которая является единственным, что мне нужно для моего приложения C#. Единственное, что приходит на ум, это использовать методы манипулирования строками, чтобы извлечь нужную мне информацию. Но я думаю, что есть лучший способ, чем этот. Я новичок в HTTP-запросе/ответе, поэтому, пожалуйста, разработайте ответы и пояснения по этому поводу.
Вот мой код:
HttpResponseMessage response = await client.PostAsJsonAsync("", scoreRequest);
if (response.IsSuccessStatusCode)
{
string result = await response.Content.ReadAsStringAsync();
Console.WriteLine("Result: {0}", result);
}
else
{
Console.WriteLine(string.Format("The request failed with status code: {0}", response.StatusCode));
// Print the headers - they include the requert ID and the timestamp, which are useful for debugging the failure
Console.WriteLine(response.Headers.ToString());
string responseContent = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseContent);
}
Вот ответное сообщение:
{"Results":{"output1":{"type":"table","value":{"ColumnNames":["clump_thickness","size_uniformity","shape_uniformity","marginal_adhesion","epithelial_size","bare_nucleoli","bland_chromatin","normal_nucleoli","mitoses","Scored Labels","Scored Probabilities"],"ColumnTypes":["Int32","Int32","Int32","Int32","Int32","Nullable`1","Int32","Int32","Int32","Double","Double"],"Values":[["10","10","4","8","1","8","3","10","1","1","0.979712069034576"],["10","10","4","8","1","8","3","10","1","1","0.979712069034576"]]}}}}
Мне нужно только значение в «Значениях»:[[...]], в данном случае это 9-й индекс или «1».