Десериализация сообщения Json с устройства IoT в C # - PullRequest
0 голосов
/ 24 июня 2019

Я новичок в C # и пытаюсь десериализовать сообщение, полученное от Raspberry Pi, на котором работает Azure IoT Edge (я использую Visual Studio 2019 с Newtonsoft.Json и Newtonsoft.Json.Linq). Однако я не могу получить значения из сообщения.

Я попытался преобразовать его в массив и объект, а затем вызвать значения.

Сообщение следующее:

messageBody = "[{\"Tag\": \"Apple\", \"Probability\": 0.0012170099653303623}]"

И я использовал следующие строки для десериализации:

JArray jsonArray = JArray.Parse(messageBody);
var jsonObjects = jsonArray.OfType<JObject>().ToList();

И я бы хотел присвоить атрибуты Тэг и Вероятность плоду и вероятности соответственно.

string fruit = jsonObjects.Tag;
var probability = jsonObjects.Probability;

Однако я получаю сообщение об ошибке: «Список не содержит определения для вероятности», а «Список не содержит определения для тега»

1 Ответ

0 голосов
/ 25 июня 2019

Вы можете добавить новый класс C #

public class JsonModel{
public string Tag {get;set;}
public double Probability {get;set;}
}

var model = JsonConvert.DeserializeObject<List<JsonModel>>(message);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...