JSON解析特定输入字符串

时间:2014-05-29 15:33:47

标签: javascript json facebook graph

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 =”)。

1 个答案:

答案 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

更新:修复了正则表达式问题的错误。格式化。