我面临以下问题。我有JSON字符串,其中内部数组/对象有时编写为转义字符串,有时不编写。例如,我有
{ "author": "Jack",
"meta": ["a", "b"]}
还有一个糟糕的问题:
{ "author": "Jack",
"meta": "[\"a\", \"b\"]"}
如果我解析后者,我将只得到meta属性的字符串。这可以通过再次通过JSON解析器传递meta属性来解决。然而,问题是,如果我通过JSON.parse
(Ruby)或JSON.load
(Python)传递它,那么我处理的可能不是转义字符串,而是一个简单的数字"15.3"
。这会导致错误。
那么我如何智能地检测值是否是需要再次通过JSON.parse的值呢?简单地尝试一下--抓住这种情况?
发布于 2013-04-15 19:41:30
这实际上取决于您正在处理的双编码数据的类型,但是测试第一个字符可能就足够了。如果它是[
或{
,那么你可以尝试用JSON解码它,如果成功了,就用它来代替它。
https://stackoverflow.com/questions/16022990
复制