0

我正在尝试使用 Newtonsoft.Json 检索许可字典。基本上,我的工具正在做的是当它有一个像这样的输入时

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

但是,那

JObject.Parse(jsonText);

命令会抛出一个 JsonReaderException 因为我的 Json 不正确。

我想要某种方法

public JObject PermissiveParse(jsonText)

这将返回一个带有 3 个有效 JToken 的 JObject。(跳过无效的)

4

1 回答 1

0

恐怕这是典型的“垃圾进,垃圾出”的情况。JSON 无效,因此您无法正确解析它。你只能猜测它的含义。现在,我们人类可以很好地猜测出我们的意图(显然),但在解析器级别上要困难得多。

如果你知道你一直得到这个 invalid jsonText,你可以在反序列化之前预处理字符串,但真正的修复必须是无效数据的来源。

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

于 2013-04-02T16:24:10.917 回答