【问题标题】:How to parse a string received via a get request using form2Json?如何使用form2Json解析通过get请求接收的字符串?
【发布时间】:2021-11-23 10:45:25
【问题描述】:

我得到了错误

SyntaxError: Unexpected token: in JSON at position 5759 (line 42)

第一次请求,第二次一切都很好,可能是什么问题以及如何解决?

function myFunction() {
var one = "leads%5Bupdate%5D%5B0%5D%5Bid%5D=30896454&leads%5Bupdate%5D%5B0%5D%5Bname%5D=%D0%94%D0%B0%D1%80%D1%8C%D1%8F+%28%D0%90%D0%BB%D0%B8%D0%BD%D0%B0%29+23.11.2021+12%3A30&leads%5Bupdate%5D%5B0%5D%5Bstatus_id%5D=33131353&leads%5Bupdate%5D%5B0%5D%5Bold_status_id%5D=33131347&leads%5Bupdate%5D%5B0%5D%5Bprice%5D=0&leads%5Bupdate%5D%5B0%5D%5Bresponsible_user_id%5D=7490283&leads%5Bupdate%5D%5B0%5D%5Blast_modified%5D=1637662097&leads%5Bupdate%5D%5B0%5D%5Bmodified_user_id%5D=0&leads%5Bupdate%5D%5B0%5D%5Bcreated_user_id%5D=0&leads%5Bupdate%5D%5B0%5D%5Bdate_create%5D=1636435650&leads%5Bupdate%5D%5B0%5D%5Bpipeline_id%5D=1635139&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B0%5D%5Bid%5D=451580&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B0%5D%5Bname%5D=tilda&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B1%5D%5Bid%5D=469607&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B1%5D%5Bname%5D=%D0%92%D0%B2%D0%BE%D0%B4%D0%BD%D0%BE%D0%B5&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B2%5D%5Bid%5D=475269&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B2%5D%5Bname%5D=%D0%9F%D0%B0%D1%80%D1%82%D0%BD%D0%B5%D1%80%D0%BA%D0%B0&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B3%5D%5Bid%5D=476169&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B3%5D%5Bname%5D=%D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD-%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D1%8F&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B4%5D%5Bid%5D=480372&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B4%5D%5Bname%5D=%D0%92%D0%A3&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B5%5D%5Bid%5D=483228&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B5%5D%5Bname%5D=%D0%90%D0%BA%D1%86%D0%B8%D1%8F+%2B2&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B6%5D%5Bid%5D=485614&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B6%5D%5Bname%5D=%D0%9E%D1%82%D0%BA%D0%BB%D0%B0%D0%B4%D1%8B%D0%B2%D0%B0%D1%8E%D1%82&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B7%5D%5Bid%5D=486524&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B7%5D%5Bname%5D=%D0%97%D0%B2%D1%83%D0%BA+%C2%AB%D0%9B%C2%BB&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B8%5D%5Bid%5D=486530&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B8%5D%5Bname%5D=%D0%9B%D0%BE%D0%B3%D0%BE%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B9%5D%5Bid%5D=487240&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B9%5D%5Bname%5D=%D0%9F%D0%9A&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B10%5D%5Bid%5D=490756&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B10%5D%5Bname%5D=%D0%A7%D1%82%D0%B5%D0%BD%D0%B8%D0%B5&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B11%5D%5Bid%5D=493262&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B11%5D%5Bname%5D=%D0%BD%D0%B5%D0%B4%D0%B5%D0%BB%D1%8F+%D0%B2+%D0%BF%D0%BE%D0%B4%D0%B0%D1%80%D0%BE%D0%BA&leads%5Bupdate%5D%5B0%5D%5Baccount_id%5D=24809335&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B0%5D%5Bid%5D=683303&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B0%5D%5Bname%5D=utm_referrer&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B0%5D%5Bcode%5D=UTM_REFERRER&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B1%5D%5Bid%5D=681646&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B1%5D%5Bname%5D=%D0%A1%D0%BE%D1%82%D1%80%D1%83%D0%B4%D0%BD%D0%B8%D0%BA%2C+Yclients&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B1%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=%D0%93%D0%B0%D0%B2%D1%80%D0%B8%D1%87%D0%B5%D0%BD%D0%BA%D0%BE+%D0%94%D0%B0%D1%80%D1%8C%D1%8F&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B2%5D%5Bid%5D=681648&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B2%5D%5Bname%5D=%D0%94%D0%BB%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C+%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D1%8B%2C+Yclients&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B2%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=45+%D0%BC%D0%B8%D0%BD.&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B3%5D%5Bid%5D=928932&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B3%5D%5Bname%5D=%D0%9C%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80+1+%D0%BB%D0%B8%D0%BD%D0%B8%D0%B8&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B3%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=%D0%93%D1%83%D1%81%D0%B5%D0%B2%D0%B0+%D0%9D%D0%B0%D1%82%D0%B0%D0%BB%D0%B8%D1%8F&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B3%5D%5Bvalues%5D%5B0%5D%5Benum%5D=4204978&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B4%5D%5Bid%5D=678201&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B4%5D%5Bname%5D=%D0%A0%D0%B5%D0%B3%D0%B8%D0%BE%D0%BD&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B4%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=%D0%A2%D0%B2%D0%B5%D1%80%D1%81%D0%BA%D0%B0%D1%8F+%D0%BE%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B5%5D%5Bid%5D=913962&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B5%5D%5Bname%5D=%D0%92%D0%BE%D0%B7%D1%80%D0%B0%D1%81%D1%82+%D1%80%D0%B5%D0%B1%D0%B5%D0%BD%D0%BA%D0%B0&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B5%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=6&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B5%5D%5Bvalues%5D%5B0%5D%5Benum%5D=4198694&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B6%5D%5Bid%5D=681336&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B6%5D%5Bname%5D=%D0%9E%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD+%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B8&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B6%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=%D0%97%D0%B2%D1%83%D0%BA%D0%BE%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%BD%D0%BE%D1%88%D0%B5%D0%BD%D0%B8%D0%B5&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B6%5D%5Bvalues%5D%5B0%5D%5Benum%5D=4188232&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B7%5D%5Bid%5D=673089&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B7%5D%5Bname%5D=ID+%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B8%2C+Yclients&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B7%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=290330-375075392&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B8%5D%5Bid%5D=673093&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B8%5D%5Bname%5D=%D0%94%D0%B0%D1%82%D0%B0+%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B8%2C+Yclients&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B8%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=23.11.2021&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B9%5D%5Bid%5D=673091&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B9%5D%5Bname%5D=%D0%92%D1%80%D0%B5%D0%BC%D1%8F+%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B8%2C+Yclients&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B9%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=12%3A30&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B10%5D%5Bid%5D=928936&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B10%5D%5Bname%5D=%D0%A2%D1%80%D0%B5%D0%B1%D1%83%D0%B5%D1%82+%D0%B4%D0%BE%D0%B7%D0%B2%D0%BE%D0%BD%D0%B0+%28%D0%A2%29&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B10%5D%5Bvalues%5D%5B0%5D=1636405200&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B11%5D%5Bid%5D=928940&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B11%5D%5Bname%5D=%D0%9F%D0%BE%D0%B4%D1%82%D0%B2%D0%B5%D1%80%D0%B4%D0%B8%D0%BB%D0%B8+%D0%92%D0%A3+%28%D0%A2%29&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B11%5D%5Bvalues%5D%5B0%5D=1637528400&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B12%5D%5Bid%5D=928942&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B12%5D%5Bname%5D=%D0%97%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D0%B5+%D0%BF%D1%80%D0%BE%D1%88%D0%BB%D0%BE+%28%D0%A2%29&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B12%5D%5Bvalues%5D%5B0%5D=1637614800&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B13%5D%5Bid%5D=928944&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B13%5D%5Bname%5D=%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD+%D0%BD%D0%B0+%D0%BF%D1%80%D0%BE%D0%B1%D0%BD%D0%BE%D0%B5+%28%D0%A2%29&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B13%5D%5Bvalues%5D%5B0%5D=1636405200&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B14%5D%5Bid%5D=670612&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B14%5D%5Bname%5D=REFERER&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B14%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=https%3A%2F%2Fmylogoped.online%2Freading%3Futm_source%3Dblogger%26amp%3Butm_campaign%3Ddaria_moguchaya%26amp%3Butm_medium%3Drg%23rec319161715&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B15%5D%5Bid%5D=680880&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B15%5D%5Bname%5D=FORMNAME&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B15%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=%D1%84%D0%BE%D1%80%D0%BC%D0%B0&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B15%5D%5Bcode%5D=FORMNAME&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B16%5D%5Bid%5D=671845&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B16%5D%5Bname%5D=UTM_SOURCE&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B16%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=blogger&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B17%5D%5Bid%5D=671847&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B17%5D%5Bname%5D=UTM_MEDIUM&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B17%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=rg&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B18%5D%5Bid%5D=671849&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B18%5D%5Bname%5D=UTM_CAMPAIGN&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B18%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=daria_moguchaya&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B19%5D%5Bid%5D=670608&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B19%5D%5Bname%5D=TRANID&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B19%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=2225828%3A2655884701&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B20%5D%5Bid%5D=670610&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B20%5D%5Bname%5D=FORMID&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B20%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=form319161715&leads%5Bupdate%5D%5B0%5D%5Bcreated_at%5D=1636435650&leads%5Bupdate%5D%5B0%5D%5Bupdated_at%5D=1637662097&account%5Bsubdomain%5D=mylogoped&account%5Bid%5D=24809335&account%5B_links%5D%5Bself%5D=https%3A%2F%2Fmylogoped.amocrm.ru";
var two = "leads%5Bupdate%5D%5B0%5D%5Bid%5D=30983426&leads%5Bupdate%5D%5B0%5D%5Bname%5D=Lead+from%3A+https%3A%2F%2Fmylogoped.online%2F%23rec367114784&leads%5Bupdate%5D%5B0%5D%5Bstatus_id%5D=24809344&leads%5Bupdate%5D%5B0%5D%5Bprice%5D=0&leads%5Bupdate%5D%5B0%5D%5Bresponsible_user_id%5D=7420479&leads%5Bupdate%5D%5B0%5D%5Blast_modified%5D=1637662184&leads%5Bupdate%5D%5B0%5D%5Bmodified_user_id%5D=7420479&leads%5Bupdate%5D%5B0%5D%5Bcreated_user_id%5D=0&leads%5Bupdate%5D%5B0%5D%5Bdate_create%5D=1637661669&leads%5Bupdate%5D%5B0%5D%5Bpipeline_id%5D=1635139&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B0%5D%5Bid%5D=451580&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B0%5D%5Bname%5D=tilda&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B1%5D%5Bid%5D=475269&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B1%5D%5Bname%5D=%D0%9F%D0%B0%D1%80%D1%82%D0%BD%D0%B5%D1%80%D0%BA%D0%B0&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B2%5D%5Bid%5D=476169&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B2%5D%5Bname%5D=%D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD-%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D1%8F&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B3%5D%5Bid%5D=483228&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B3%5D%5Bname%5D=%D0%90%D0%BA%D1%86%D0%B8%D1%8F+%2B2&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B4%5D%5Bid%5D=493262&leads%5Bupdate%5D%5B0%5D%5Btags%5D%5B4%5D%5Bname%5D=%D0%BD%D0%B5%D0%B4%D0%B5%D0%BB%D1%8F+%D0%B2+%D0%BF%D0%BE%D0%B4%D0%B0%D1%80%D0%BE%D0%BA&leads%5Bupdate%5D%5B0%5D%5Baccount_id%5D=24809335&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B0%5D%5Bid%5D=683303&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B0%5D%5Bname%5D=utm_referrer&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B0%5D%5Bcode%5D=UTM_REFERRER&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B1%5D%5Bid%5D=928932&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B1%5D%5Bname%5D=%D0%9C%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80+1+%D0%BB%D0%B8%D0%BD%D0%B8%D0%B8&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B1%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=%D0%9A%D1%80%D1%83%D1%82%D0%BE%D0%B2%D0%B0+%D0%AF%D0%BD%D0%B0&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B1%5D%5Bvalues%5D%5B0%5D%5Benum%5D=4205136&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B2%5D%5Bid%5D=681336&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B2%5D%5Bname%5D=%D0%9E%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD+%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B8&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B2%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=%D0%97%D0%B2%D1%83%D0%BA%D0%BE%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%BD%D0%BE%D1%88%D0%B5%D0%BD%D0%B8%D0%B5&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B2%5D%5Bvalues%5D%5B0%5D%5Benum%5D=4188232&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B3%5D%5Bid%5D=670612&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B3%5D%5Bname%5D=REFERER&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B3%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=https%3A%2F%2Fmylogoped.online%2F%23rec367114784&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B4%5D%5Bid%5D=670608&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B4%5D%5Bname%5D=TRANID&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B4%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=2225828%3A2723274121&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B5%5D%5Bid%5D=670610&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B5%5D%5Bname%5D=FORMID&leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B5%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=form367114784&leads%5Bupdate%5D%5B0%5D%5Bcreated_at%5D=1637661669&leads%5Bupdate%5D%5B0%5D%5Bupdated_at%5D=1637662184&account%5Bsubdomain%5D=mylogoped&account%5Bid%5D=24809335&account%5B_links%5D%5Bself%5D=https%3A%2F%2Fmylogoped.amocrm.ru";
Logger.log(form2Json(one));
}

这是 form2Json 脚本本身

 /**
 *
 * @file Parse data that could contain objects nested up to 5 levels deep.
 * It's able to deal with both rather complex data, but not fail to decode a URI as simple as id=213.
 * @author Elias Van Ootegem {@link https://stackoverflow.com/users/1230836/elias-van-ootegem}
 * @see https://stackoverflow.com/a/10881657/1393023
 */

/**
 *
 * @param {string} formString
 * @return {object}
 */
function form2Json(formString) {
  'use strict';
  let obj;
  let i;
  let pt;
  let keys;
  let j;
  let ev;
  if (typeof form2Json.br !== 'function') {
    form2Json.br = function(repl) {
      if (repl.indexOf(']') !== -1) {
        return repl.replace(/\](.+?)(,|$)/g, function($1, $2, $3) {
          return form2Json.br($2 + '}' + $3);
        });
      }
      return repl;
    };
  }
  formString =
    '{"' +
    (formString.indexOf('%') !== -1
      ? decodeURIComponent(formString)
      : formString) +
    '"}';
  obj = formString
    .replace(/\=/g, '":"')
    .replace(/&/g, '","')
    .replace(/\[/g, '":{"');
  obj = JSON.parse(
    obj.replace(/\](.+?)(,|$)/g, function($1, $2, $3) {
      return form2Json.br($2 + '}' + $3);
    })
  );
  pt = ('&' + formString)
    .replace(/(\[|\]|\=)/g, '"$1"')
    .replace(/\]"+/g, ']')
    .replace(/&([^\[\=]+?)(\[|\=)/g, '"&["$1]$2');
  pt = (pt + '"').replace(/^"&/, '').split('&');
  for (i = 0; i < pt.length; i++) {
    ev = obj;
    keys = pt[i].match(/(?!:(\["))([^"]+?)(?=("\]))/g);
    for (j = 0; j < keys.length; j++) {
      if (!Object.prototype.hasOwnProperty.call(ev, keys[j])) {
        if (keys.length > j + 1) {
          ev[keys[j]] = {};
        } else {
          ev[keys[j]] = pt[i].split('=')[1].replace(/"/g, '');
          break;
        }
      }
      ev = ev[keys[j]];
    }
  }
  return obj;
}

【问题讨论】:

    标签: javascript json google-apps-script google-sheets


    【解决方案1】:

    问题在于表单值

    leads[update][0][custom_fields][14][values][0][value]
    

    字符串的以下部分:

    leads%5Bupdate%5D%5B0%5D%5Bcustom_fields%5D%5B14%5D%5Bvalues%5D%5B0%5D%5Bvalue%5D=https%3A%2F%2Fmylogoped.online%2Freading%3Futm_source%3Dblogger
    

    将被解码为以下内容:

    leads[update][0][custom_fields][14][values][0][value]=https://mylogoped.online/reading?utm_source=blogger
    

    罪名是 url:

    https://mylogoped.online/reading?utm_source=blogger
    

    form2Json 尝试使用传统的替换方法从字符串中创建一个 JSON 对象:

    formString =
        '{"' +
        (formString.indexOf('%') !== -1
            ? decodeURIComponent(formString)
            : formString) +
        '"}';
    
    obj = formString
        .replace(/\=/g, '":"')
        .replace(/&/g, '","')
        .replace(/\[/g, '":{"');
    

    其中formString 是您传递给它的字符串(在您的情况下为one)。

    由于 .replace(/\=/g, '":"') 行,= 表示 URL 参数被转换为 ":",因此在提供给 JSON.parse() 的字符串中显示:

    "leads": {
      "update": {
        "0": {
          "custom_fields": {
            "14": {
              "values": {
                "0": {
                  "value": "https://mylogoped.online/reading?utm_source": "blogger"
                }
              }
            }
          }
        }
      }
    }
    

    这是一个无效的 JSON 字符串并抛出错误

    SyntaxError: Unexpected token : in JSON at position 5759
    

    修复:

    您需要先对 URL 中的 = 进行编码,然后再以某种方式将其放入 form2Json

    也许将原始输入中的所有= 字符更改为不同的字符串(例如{{ EQUALS_SIGN }}),然后在调用form2Json(one) 之后将{{ EQUALS_SIGN }} 字符串的所有实例替换为=显示在任何地方

    【讨论】:

    • 请告诉我为什么第二行没有错误?因为还有一个符号=
    • 这不是符号= - 它是URL https://mylogoped.online/reading?utm_source=blogger 中的=。 form2Json 无法处理值内的= 符号。
    • 值为https%3A%2F%2Fmylogoped.online%2Freading%3Futm_source%3Dblogger%3D 在 URL 解码时转换为 =(试试 here),然后 form2Json 将 that = 转换为字符串 ":"。这使得 JSON 结构中的值 "https://mylogoped.online/reading?utm_source": "blogger" 无效,因为字符串过早结束并添加了错误的 : 标记。
    • 谢谢,现在我意识到我找错地方了,但我无法解码,因为我通过 webhook 接收数据,也许有什么方法可以不同地获取数据?跨度>
    • 如果您在使用该功能之前将String.replace应用于接收到的数据,我认为它应该可以工作,非常感谢您,我会尝试,但如果您有更好的想法,我'会很高兴地听)谢谢)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    • 2012-07-01
    相关资源
    最近更新 更多