【问题标题】:Javascript equivalent of Python's urlparse.parse_qs()?Javascript 相当于 Python 的 urlparse.parse_qs()?
【发布时间】:2012-12-26 18:55:54
【问题描述】:

我正在使用 python 生成一个查询字符串,然后由 javascript 解析。

考虑一个相当“复杂”的数据:

import urllib

params = {
         'record': 'customer',
         'filters': [
                 ('id', '>', 5),
                 ('name', 'startswith', 'Jean Luc')
         ]
}

urllib.urlencode(params)
'record=customer&filters=%5B%28%27id%27%2C+%27%3E%27%2C+5%29%2C+%28%27name%27%2C+%27startswith%27%2C+%27Jean+Luc%27%29%5D'

urllib.unquote(urllib.urlencode(params))
"record=customer&filters=[('id',+'>',+5),+('name',+'startswith',+'Jean+Luc')]"

在 python 中,我可以使用 urlparse.parse_qs() 获取该 url 编码的查询字符串并重建 Python 结构。

是否有 Javascript 的等价物?是否有人编写了一个知道如何解析此类查询字符串的库?

顺便说一句,这个 Javascript 没有在浏览器中运行——它是一个名为“Netsuite”的包中的内部脚本功能——所以使用外部 javascript 库有点困难(尽管如果需要的话,最终还是可行的。)

【问题讨论】:

  • 听起来你想改用 JSON; Python -> JSON -> JavaScript 很简单并且得到很好的支持。
  • 观看接近投票:这是一个半重复,但不是完全重复。副本在键值提取和解码处停止。这个问题也需要“复杂”的数据。
  • 这个问题不是重复的,更不是一个“确切”的问题......

标签: javascript python urlencode netsuite urlparse


【解决方案1】:

jQuery.deparam 可能就是您要找的。如果您不能在 Netsuite 中使用 jQuery,应该很容易查看他的源代码并弄清楚如何做。

【讨论】:

    【解决方案2】:

    Netsuite端最好使用XML或JSON形式的数据。

    这里的 Netsuite 脚本是纯 javascript,不支持 JQuery,但支持 JSON 和 XML 数据 可以使用 JSON.Parse 解析回对象,您可以继续使用那里的数据。

    干杯!!!

    【讨论】:

      猜你喜欢
      • 2013-05-12
      • 2010-09-07
      • 2013-04-13
      • 1970-01-01
      • 2011-07-28
      • 2017-06-25
      • 1970-01-01
      • 2017-01-11
      • 1970-01-01
      相关资源
      最近更新 更多