1

我面临以下问题。我有 JSON 字符串,其中内部数组/对象有时被写为转义字符串,有时不是。例如我有

{ "author": "Jack",
  "meta": ["a", "b"]}

还有一个不好的:

{ "author": "Jack",
  "meta": "[\"a\", \"b\"]"}

如果我解析后一个,我只会得到一个元属性的字符串。这可以通过再次通过 JSON 解析器传递元属性来解决。但是,问题是,如果我通过JSON.parse(Ruby) 或JSON.load(Python) 传递它,那么可能我处理的不是转义字符串,而是一个简单的数字"15.3"。这会导致错误。

那么如何智能检测该值是否是需要再次通过 JSON.parse 的值呢?简单地尝试捕捉这种情况?

4

1 回答 1

2

这实际上取决于您正在处理的双编码数据类型,但测试第一个字符可能就足够了。如果是[{那么您可以尝试使用 JSON 对其进行解码,如果成功,则将其替换。

于 2013-04-15T19:41:29.713 回答