hello i have a few classes and i have problem looping through some of the classes to get the values.
eg, i want to know which sensors
are having issues. sensors comprises of lidar
, imu
, camera1234
. i want so check their status and if their status is not 'good'
then i need to say 'lidar not good'
.
ways that i have thought of:
- list of classes? but what is the 'Type' for classes?
- using
Root
class, access the other classes from it, similar to how we do for iterating through properties in classes. but how do i do this?
public class Battery
{
public string status { get; set; }
public string value { get; set; }
}
public class Camera1
{
public string status { get; set; }
}
public class Camera2
{
public string status { get; set; }
}
public class Camera3
{
public string status { get; set; }
}
public class Camera4
{
public string status { get; set; }
}
public class Cpu
{
public string status { get; set; }
public string value { get; set; }
public string temperature { get; set; }
public string ram { get; set; }
public string utilisation { get; set; }
}
public class CurrentJob
{
public object job { get; set; }
public object task { get; set; }
public object location { get; set; }
}
public class Dex
{
public CurrentJob current_job { get; set; }
public Battery battery { get; set; }
public Gpu gpu { get; set; }
public Cpu cpu { get; set; }
public Lidar lidar { get; set; }
public Camera1 camera1 { get; set; }
public Camera2 camera2 { get; set; }
public Camera3 camera3 { get; set; }
public Camera4 camera4 { get; set; }
public Imu imu { get; set; }
}
public class Gpu
{
public string status { get; set; }
public string value { get; set; }
public string memory { get; set; }
public string utilisation { get; set; }
}
public class Imu
{
public string status { get; set; }
}
public class Lidar
{
public string status { get; set; }
}
public class Root
{
public Dex dex { get; set; }
}
this is my json
[
{"dex":
{
"current_job":
{"job":null, "task": null, "location": null},
"battery":
{"status": "good", "value": "100"},
"gpu":
{"status": "bad", "value": "97", "memory":"60", "utilisation":"83.3"},
"cpu":
{"status": "good", "value": "32", "temperature":"37", "ram":"31.5", "utilisation":"26"},
"lidar":
{"status": "good"},
"camera1":
{"status": "good"},
"camera2":
{"status": "good"},
"camera3":
{"status": "error"},
"camera4":
{"status": "good"},
"imu":
{"status": "good"}
}
}
]
after implementing advice from JEremey, this is my updated classes
using System.Text;
using Microsoft.Bot.Builder;
using System.Collections.Generic;
using Newtonsoft.Json;
using System.IO;
namespace CoreBot.CognitiveModels
{
public class Battery
{
public string status { get; set; }
public string value { get; set; }
}
public class Camera1 : SensorComponents
{
public string status { get; set; }
}
public class Camera2 : SensorComponents
{
public string status { get; set; }
}
public class Camera3 : SensorComponents
{
public string name = "CPU";
public string status { get; set; }
}
public class Camera4 : SensorComponents
{
public string status { get; set; }
}
public class Cpu
{
public string name = "CPU";
public string status { get; set; }
public string value { get; set; }
public string temperature { get; set; }
public string ram { get; set; }
public string utilisation { get; set; }
}
public class CurrentJob
{
public object job { get; set; }
public object task { get; set; }
public object location { get; set; }
}
public class Dex
{
public CurrentJob current_job { get; set; }
public Battery battery { get; set; }
public Gpu gpu { get; set; }
public Cpu cpu { get; set; }
public Lidar lidar { get; set; }
public Camera1 camera1 { get; set; }
public Camera2 camera2 { get; set; }
public Camera3 camera3 { get; set; }
public Camera4 camera4 { get; set; }
public Imu imu { get; set; }
}
public class Gpu
{
public string status { get; set; }
public string value { get; set; }
public string memory { get; set; }
public string utilisation { get; set; }
}
public class Imu : SensorComponents
{
public string status { get; set; }
}
public class Lidar : SensorComponents
{
public string status { get; set; }
}
public class Root
{
public Dex dex { get; set; }
}
public class SensorComponents
{
public string name { get; set;}
public string status { get; set;}
}
}