我什么时候更喜欢使用 json 而不是查询字符串?
When would I prefer to use json over a query-string?
我偶然发现了一个我在互联网上找不到答案的问题:我什么时候更愿意使用 JSON 什么时候我更愿意使用查询字符串?
非常感谢您的专家对该主题的任何进一步想法。
编码示例也将不胜感激
谢谢!
让我们直截了当:
- 查询字符串是 URL 的片段,在
?
标记之后。例如,在 http://test.com/foo?baz=1
中,片段 baz=1
是 URL. 的查询字符串
- 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.
我偶然发现了一个我在互联网上找不到答案的问题:我什么时候更愿意使用 JSON 什么时候我更愿意使用查询字符串?
非常感谢您的专家对该主题的任何进一步想法。
编码示例也将不胜感激
谢谢!
让我们直截了当:
- 查询字符串是 URL 的片段,在
?
标记之后。例如,在http://test.com/foo?baz=1
中,片段baz=1
是 URL. 的查询字符串
- 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.