我的字符串看起来像Array
,从其他网络服务中获取
[
[
[189, 'Brazil Serie A', 0, ''],
[
[1053230, 'Flamengo', 'Atletico Goianiense', '1.196', 10, '07/02/2012 04:30', 0, 9, 1, 0, '', 0]
],
[0, [
[10770901, 0, 5000.00],
[1, 17988654, '-0.78', '0.70', '1.0', 1],
[3, 17965783, '0.97', '0.93', '2.5-3'],
[7, 17965787, '-0.89', '0.77', '0.50', 1],
[9, 17965789, '0.70', '-0.82', '1.0']
]]
],
[, , [0, [
[10748028, 0, 3000.00],
[1, 17965781, '0.85', '-0.93', '0.5-1', 1],
[3, 17988655, '0.79', '-0.89', '2.50']
]]]
]
是否可以解析为PHP Array
或转换为JSON
?
答案 0 :(得分:2)
正如ctrahey所指出的,单引号需要换成双引号才能成为有效的JSON。在他们之前没有任何内容的逗号也必须去。
// quote to double quote
$input = str_replace("'", '"', $input);
// remove empty commas
$input = preg_replace('/,\s*,/', ',', $input);
$input = preg_replace('/\[\s*,/', '[', $input);
$output = json_decode($input));
我试图保持简单,并在中建立一点灵活性。
答案 1 :(得分:1)
有关详细信息,请参阅the spec,但这实际上只是一堆数组。字符串的双引号要求在那里清楚地说明,其余的看起来没问题。