1

jsonから逆シリアル化するクラスがあります

class SeeSharp
{
   public int Number;  
}

良いjsonは次のようになります

{番号:1}

PHPから来る間違ったjsonは

{番号:偽}

次の方法を使用して、逆シリアル化エラーを処理しますhttp://blog.mrlacey.co.uk/2012/03/debugging-deserialization-errors-in.html

タイプstring/int/double/bool/etcのメンバーの読み取りに失敗した場合、その値をこのタイプのデフォルトに設定し、そのエラーを処理済みとしてマークしたいと思います。

現在、JsonSerializationSettings.Errorデリゲートは、失敗したメンバーに値を設定することを許可しておらず、失敗したメンバーのタイプに関する情報を表示しません。

別の方法でそれを行うオプションがある場合は、それを知っておくとよいでしょう。

4

1 に答える 1

0

このクラスを使用できますか?

public class SeeSharp
{
    public string Number
    {
        get
        {
            return _number.ToString();
        }

        set
        {
            if (!int.TryParse(value, out _number))
                _number = default(int);
        }
    }

    public int _Number { get; set; }
}

JsonConvertstringプロパティNumberを使用して、解析自体を処理するデータを設定します。次に_Number、コードでプロパティを次のように使用しますint

于 2012-08-02T17:34:23.887 に答える