0

Json デシリアライザーに問題があります。返された Json の値の 1 つが大きすぎて、例外がスローされています。実際には返されているという情報は必要ないので、無視したいと思います。これを行う最善の方法は、json 文字列で属性を検索し、値を null に設定することだと考えました。

エラーが発生している返された Json のサンプルを次に示します。

           "attributes": [
                {
                    "defindex": 143,
                    "value": 2111522248,
                    "float_value": 364329070052570260000000000000
                },

「float_value」属性(つまり36432907005257026000000000)を空の値またはnillに置き換えて、Json逆シリアル化中に例外がスローされないようにしたいと思います。

私は使用していますRegex.Replace(json, "\"float_value\": \\d+", String.Empty);

しかし、それを削除しているようには見えず、まだ例外をスローしています。

4

1 に答える 1

0

\\d+あなたが実際に秒をエスケープしていると言うとき\、そしてあなたが欲しいことを示していません\d。代わりにこれを試してください:

Regex.Replace(json, "\"float_value\": \d+", String.Empty);

これまでの内訳をご紹介します。リテラルに注意してくださいd: http://www.regex101.com/r/wQ6jD5

編集:Nvm、逐語的な文字列ではなく通常の文字列を使用していたため、これは当てはまりません。,Jj' が指摘したように、問題は、削除しなかった前の行にa があることだと思います。

于 2012-12-24T13:09:56.357 に答える