首页 > 解决方案 > 我什么时候更喜欢在查询字符串上使用 json?

问题描述

我偶然发现了一个在互联网上找不到答案的问题:我什么时候更喜欢使用 JSON,什么时候更喜欢使用查询字符串?

非常感谢您的专家对该主题的任何进一步想法。

编码示例也将不胜感激

谢谢!

标签: jsonhttpquery-string

解决方案


让我们把事情弄清楚:

  1. 查询字符串是?标记后的 URL 片段。例如,http://test.com/foo?baz=1片段baz=1中是该 URL 的查询字符串。
  2. JSON 是一种众所周知的数据格式。我不会在这里深入研究规范(因为它是众所周知的),但例如{"test":1}是一个 JSON 字符串。

所以这是两个不同的东西。它不像“这个或那个”,例如你可以将两者结合起来

http://test.com/?{"test":1}

现在您将 JSON 作为查询字符串。请注意,查询字符串格式未标准化,因此这是完全有效的。

如您所见,这两者并没有真正的可比性。除非“查询字符串”实际上是指具体格式,即典型x=1&y=2&z=3样式。这两个我们可以比较。JSON 具有更好的结构优势,您可以嵌套对象,您有数组,您有(很少但仍然)类型。但它的可读性较差,特别是因为 URL 中的某些字符必须转义。而且解析它需要更多时间(虽然不太重要)。

我的方法如下:GET在 URL 中使用“标准”查询字符串,POST在正文中使用 JSON。如果您GET变得更复杂,则将其转换为POST带有 JSON 的。


推荐阅读