JSON 解析特定输入字符串

问题描述 投票:0回答:1

Facebook api 向我提供了一个格式如下的数组:

to[0]=10100811338393761,to[1]=10100919262065481,...

关于如何用 JS 将其解析为 JSON 数组有什么想法吗?

编辑:已要求澄清,所以...

Facebook 在回调 URL 中提供了一组已发送请求的用户(请参阅此处的文档)。它以 URI 格式提供,在本例中:

to%5B0%5D=10100811338393761....

我已经使用decodeURIComponent清理了它,我提供的代码就是我剩下的。

我想做的是将其解析为 JSON 对象,以便我可以访问 ID,但是当我尝试 JSON.parse 时,它会抛出错误(“意外的 [”或“意外的 =”)。

javascript json
1个回答
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

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

© www.soinside.com 2019 - 2024. All rights reserved.