Facebook api正在向我展示一个格式为:
的数组to[0]=10100811338393761,to[1]=10100919262065481,...
有关如何使用JS将其解析为JSON数组的任何想法吗?
修改:已请求清晰度,因此......
Facebook提供了一系列已在回调网址(see here for docs)中发送请求的用户。它以URI格式提供,在这种情况下:
to%5B0%5D=10100811338393761....
我已经使用decodeURIComponent清理了它,我提供的代码就是我剩下的。
我想要做的是将其解析为JSON对象,以便我可以访问ID,但是当我尝试JSON.parse时,它会抛出错误(“unexpected [”或“unexpected =”)。
答案 0 :(得分:0)
如果它实际上以您所说的方式返回完全:
function toObj(a){
var split = a.split(/to\[[0-9]{1,}\]=(.*?),*?/g));
var arr = [];
if(!split) return arr;
for(var i = 0; i < split.length; i++)
if(split[i] != '') arr.push(split[i].replace(/,/g, ''));
return arr;
}
toObj('to[0]=10100811338393761,to[1]=10100919262065481')[0]
=== '10100811338393761'; // true
更新:修复了正则表达式问题的错误。格式化。