【问题标题】:How can you POST JSON?你如何发布 JSON?
【发布时间】:2010-11-12 07:32:28
【问题描述】:

我有一个接受来自客户端的 POST 的 python FastCGI 服务器,我想使用 JSON 作为客户端和服务器之间通信的格式,但它真的让我很困惑它是如何工作的。

javascript 中的 JSON 表示是:

{'login_user': {'username':username, 'password':password}}

当我发布这个 JSON 对象时,jquery 会将其重新编码为 dict 并将其转换为字符串,对其进行编码并发送出去:

login_user[username] = "kajjd"&loginuser[password] = "kdjfdj" #it's unescaped query string

我的 python 服务器会收到这个字符串。我还想在服务器端使用 JSON,我可以做些什么来将此查询字符串转换回 python 中的 JSON?有什么快速的方法吗?

我不知道我使用 JSON 是个好方法,但我看不到 JSON 有什么好的一面,为什么不是 XML?我在问自己。

【问题讨论】:

标签: jquery python json


【解决方案1】:

用于 Web 应用程序通信的 XML?深吸一口气,想一想。如果你对它有疑问,那就意味着你真的不需要它。您依赖 XML 处理相当复杂的数据集,随着时间的推移,可能会对协议格式进行大量修改。从本质上讲,XML 可以做到这一点:变形数据,生成不同的版本,允许由不需要自己检测并知道如何处理它的代码来解析自描述格式。否则更喜欢更轻量级的东西(这仍然可以实现几乎相同的目标)。这就是为什么 JSON 是一个很好的选择:它仍然更紧凑,并且相对容易被人和机器操作。如果您需要大量减少带宽,请查看二进制格式。

现在转到真正的问题:请参阅JSON usage in JavaScript and Java 的答案。它们都是支持解码和编码的双向库。

现在关于您的表单:如果您想使用 JSON,为什么要将字符串转换为 dict 格式?

要从服务器获取数据,请执行正常的 AJAX 请求并解析或评估您的返回值(首选解析,如果可能使用本机 API),或使用类似 jQuery.getJSON 的东西。或jquery-json。

要将请求发送到服务器,请查找 jQuery.ajax() 或 jQuery.post()。

您可能还想看看这些问题:

【讨论】:

    猜你喜欢
    • 2010-09-15
    • 2020-09-23
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-21
    • 2011-12-27
    相关资源
    最近更新 更多