我什么时候更喜欢使用 json 而不是查询字符串?

When would I prefer to use json over a query-string?

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

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

编码示例也将不胜感激

谢谢!

让我们直截了当:

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

所以这是两件不同的事情。它不像 "this or that",例如你可以将两者结合起来得到

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

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

如您所见,这两者并没有什么可比性。除非 "query string" 你实际上指的是具体格式,即典型的 x=1&y=2&z=3 风格。这两个我们可以比较一下。 JSON 具有更好的结构优势,你可以嵌套对象,你有数组,你有(很少但仍然)类型。但它的可读性较差,尤其是 URL 中的某些字符必须转义。解析它需要更多时间(虽然不太重要)。

我的做法是:对于GET,在URL中使用"standard"查询字符串,对于POST,在正文中使用JSON。如果你的 GET 变得更复杂,那么将它变成 POST 和 JSON.