You could use Json.Net Schema to make sure that received json contains everything you need.
Here is a simple application how to use it
static JSchemaGenerator generator = new();
static JSchema schema = generator.Generate(typeof(Temp));
public static void Main()
{
var jsons = new[] {
"{}",
"{'Field1': \"1\"}",
"{'Field1': \"1\", 'Field2': 2}",
"{'Field1': \"1\", 'Field2': 2, 'Field3': 'false'}",
"{'Field1': \"1\", 'Field2': 2, 'Field3': false}",
"{'Field1': \"1\", 'Field2': 2, 'Field3': false, 'Field4': 4.0}",
};
foreach(var json in jsons)
{
var semiParsedJson = JObject.Parse(json);
Console.WriteLine($"{json} is valid: {semiParsedJson.IsValid(schema)}");
}
}
and here is the output
{} is valid: False
{'Field1': "1"} is valid: False
{'Field1': "1", 'Field2': 2} is valid: False
{'Field1': "1", 'Field2': 2, 'Field3': 'false'} is valid: False
{'Field1': "1", 'Field2': 2, 'Field3': false} is valid: True
{'Field1': "1", 'Field2': 2, 'Field3': false, 'Field4': 4.0} is valid: True
Dotnet Fiddle link