0

Newtonsoft.Json を使用して寛容な辞書を取得しようとしています。基本的に、ツールが行っているのは、次のような入力がある場合です

string jsonText = 
@"{
    "key1" : "val1",
    "key2" : "val2",
    "inconsistency",
    "key3" : "val3"
  }";

しかし

JObject.Parse(jsonText);

私のJsonが正しくないため、コマンドはJsonReaderExceptionをスローします。

なんらかの方法が欲しい

public JObject PermissiveParse(jsonText)

これは、3 つの有効な JToken を持つ JObject を返します。(無効なものをスキップ)

4

1 に答える 1

0

残念ながら、これは典型的な「ガベージ イン、ガベージ アウト」の状況です。JSON が無効なため、適切に解析できません。それが何を意味するのかを推測することしかできません。さて、私たち人間は意図されたものを (明らかに) かなりよく推測できますが、パーサー レベルではそれははるかに困難です。

一貫してこの invalidjsonTextを取得していることがわかっている場合は、逆シリアル化する前に文字列を前処理できますが、実際の修正は無効なデータのソースにある必要があります。

https://stackoverflow.com/a/5142168/393487

于 2013-04-02T16:24:10.917 に答える