我有一个从客户端接受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呢?我问自己。
答案 0 :(得分:2)
用于网络应用程序的XML通信?深吸一口气思考一下。如果你对它有疑问,那就意味着你真的没有必要。您依赖XML来处理相当复杂的数据集,并且可能会随着时间的推移对协议格式进行大量修改。从本质上讲,XML可以做到这一点:变形数据,生成不同的版本,允许代码解析自描述格式,而不需要自己检测它并知道如何处理它。否则更喜欢更轻量级的东西(这仍然可以实现几乎相同的东西)。这就是为什么JSON是一个很好的选择:它更紧凑,并且相对容易操作人和机器。如果您需要大量减少带宽,请查看二进制格式。
现在转到真正的问题:查看JSON usage in JavaScript and Java的答案。它们都是支持解码和编码的双向库。
现在关于你的表单:如果你想使用JSON,为什么要转换字符串这个dict格式?
要从服务器获取数据,请执行正常的AJAX请求并解析或评估返回的值(如果可能,使用本机API解析首选),或使用jQuery.getJSON之类的内容。或jquery-json。
要将请求发送到服务器,请查找jQuery.ajax()或jQuery.post()。
您可能还想看看这些问题: