我在使用Json解串器時遇到了一些問題。返回的Json中的一個值是大的,並拋出異常。我其實不需要它返回的信息,所以我想忽略它。我想最好的方法是搜索json字符串的屬性,然後將值設置爲null。Regex.Replace matching
下面是返回的Json樣本給我的錯誤。
"attributes": [
{
"defindex": 143,
"value": 2111522248,
"float_value": 364329070052570260000000000000
},
我想用一個空值,或nill取代「float_value」屬性(即36432907005257026000000000
),所以它不會Json的反序列化過程中拋出異常。
我使用Regex.Replace(json, "\"float_value\": \\d+", String.Empty);
但它似乎沒有被移除,並且仍然拋出異常。
之後是否有同樣的例外情況?因爲在刪除float_value行之後,在對象中留下了尾隨逗號......在正則表達式之前,?\ s *會執行這個技巧 –
在替換爲正確刪除我想要的項目之後,確實發生了另一個錯誤Json,正如你所說的,我認爲這是因爲前面「價值」線上的尾隨逗號。 這是我嘗試使用@「,?\ s」「float_value」「:\ d +」 正則表達式但它不適用於此。它將刪除float_value,而不是確定逗號。 – Coffman34
它需要是@「,?\ s *」「float_value」「:\ s * \ d +」來獲得任意數量的空格和正則表達式選項需要設置爲單行來替換多行 –