jsonファイルをdesirializeする際、値の記載がない場合の検知について


配列が定義されたjsonから読み込んだ値を使用するプログラムを作成しています。

  * 値はjsonファイルに記載された値を使用する。
  * jsonファイルにプロパティ未記載の場合は配列の直前の要素の値を使用する。

以下のクラスでjsonファイル例をdeserializeすると未記載の場合は0となるため値として0を記載された場合に判定できず困っています。

[code]

    using System.text.Json;
    internal class Value
    {
        public int Front { get; set; }
        public int Back { get; set; }
    }
    
[/code]

jsonファイル例

[code]

    [
      {
        "Front": 2000,
        "Back": 2000,
      },
      {
        "Back": 3000,
      },
      {
        "Front": 0,
      }
    ]
    
[/code]




JSONのパーサーに何を使っているかにもよるのですが、一般的には[null許容値型](https://docs.microsoft.com/ja-
jp/dotnet/csharp/language-reference/builtin-types/nullable-value-
types)を使用するとnullかどうかで判定できることが多いです。  
具体的には以下のように変更してみてください。

[code]

    internal class Value
    {
      public int? Front { get; set; }
      public int? Back { get; set; }
    }
    
[/code]

