(начинающий) JSON десериализовать до проблемы DataTable - PullRequest
0 голосов
/ 05 ноября 2018

Я новичок в десериализации объектов JSON. Я пытался использовать JSON.NET. У меня есть аппаратное устройство, которое отправляет мне сообщение JSON, подобное этому.

{
    "settings": [{
        "slotid": 13,
        "live": {
            "values": [
                {"id":1,"v":"3.5.0"},
                {"id":2,"v":""},
                {"id":3,"v":282827},
                {"id":4,"v":127},
                {"id":5,"v":127},
                {"id":10,"v":7},
                {"id":11,"v":1},
                {"id":12,"v":22},
                {"id":13,"v":1},
                {"id":14,"v":1},
                {"id":15,"v":0},        
                {"id":16,"v":2},
                {"id":17,"v":0},
                {"id":18,"v":0}
            ]
        },
        "presets": []
    }]
}

Я пытался сделать это точно так же, как в

https://www.newtonsoft.com/json/help/html/DeserializeDataSet.htm

но что-то идет не так, я полагаю, что это зависит от построения формата ответа JSON.

Я использовал такой код:

 public class Product
  {
      public string settings {get; set;}
      public string values { get; set; }
      //public string presets { get; set; }
      public string slotid { get; set; }
  }
    private void Form1_Load(object sender, EventArgs e)
    {
        string URL = "http://10.0.0.201/api/json/controls/get?slotid=13";
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
        request.ContentType = "application/json; charset=utf-8";
        HttpWebResponse response = request.GetResponse() as HttpWebResponse;
        using (Stream responseStream = response.GetResponseStream())
        {
            StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
            string json = reader.ReadToEnd();
            try
            {
                Product deserializedProduct = JsonConvert.DeserializeObject<Product>(json);

            }
            catch(Exception E)
            {

            }
        }
    }

В переменной json я сохраняю сообщение JSON.

Я полагаю, что мне нужно создать пользовательские данные, но как?

Привет

Ps.

Я забыл сказать, что мне нужно получить только значения "id" и "v" из JSON из значений.

...