如何缩小 json 响应?
How to minify json response?
你好,最近在一次采访中我经历了这个问题。
如何缩小 json 响应
{
name: "sample name",
product: "sample product",
address: "sample address"
}
这是什么问题。我不知道如何缩小及其背后的过程。谁能解释一下?请
提前致谢。
显而易见的方法是去掉空格。除此之外,您还可以将键映射到更短的内容,如 a、b、c。
另外,如果你想成为一个混蛋;您可以告诉他们有效的 json 会在键周围加上引号。这好像是一个js对象,不是json.
您可以解析 JSON 然后立即重新序列化解析的对象:
var myJson = `{
"name": "sample name",
"product": "sample product",
"address": "sample address"
}`;
// 'Minifying' the JSON string is most easily achieved using the built-in
// functions in the JSON namespace:
var minified = JSON.stringify(JSON.parse(myJson));
document.body.innerHTML = 'Result:<br>' + minified;
您必须在服务器端执行缩小以改善响应大小。我想大多数语言都支持与上述代码段等效的代码。例如,在 php 中,可以这样写(当然,如果您的服务器运行 php):
$myJson = '{
"name": "sample name",
"product": "sample product",
"address": "sample address"
}';
$minified = json_encode(json_decode($myJson));
另一种方法是将其创建为带有隐式键的数组 - 基本上数组中的第一项映射到键 'name',第二项映射到 'product' 等 - 这需要发件人和消息的接收者确切地知道键的顺序,所以在你的例子中它可以减少到
["样品名称","样品产品","样品地址"]
你真的不能让它比这短得多。如果您有带有子键的复杂对象,您可以使用嵌套的多维数组,例如
["样品名称","样品产品",["样品地址1","样品地址2"]]
对于像多人游戏服务器网络这样的事情,这将是一个不错的选择,其中消息大小是减少延迟的主要因素,并且客户端和服务器都知道消息的结构。
严格来说Json,但有时您必须使用实用的解决方案来提高性能。
你好,最近在一次采访中我经历了这个问题。
如何缩小 json 响应
{
name: "sample name",
product: "sample product",
address: "sample address"
}
这是什么问题。我不知道如何缩小及其背后的过程。谁能解释一下?请
提前致谢。
显而易见的方法是去掉空格。除此之外,您还可以将键映射到更短的内容,如 a、b、c。
另外,如果你想成为一个混蛋;您可以告诉他们有效的 json 会在键周围加上引号。这好像是一个js对象,不是json.
您可以解析 JSON 然后立即重新序列化解析的对象:
var myJson = `{
"name": "sample name",
"product": "sample product",
"address": "sample address"
}`;
// 'Minifying' the JSON string is most easily achieved using the built-in
// functions in the JSON namespace:
var minified = JSON.stringify(JSON.parse(myJson));
document.body.innerHTML = 'Result:<br>' + minified;
您必须在服务器端执行缩小以改善响应大小。我想大多数语言都支持与上述代码段等效的代码。例如,在 php 中,可以这样写(当然,如果您的服务器运行 php):
$myJson = '{
"name": "sample name",
"product": "sample product",
"address": "sample address"
}';
$minified = json_encode(json_decode($myJson));
另一种方法是将其创建为带有隐式键的数组 - 基本上数组中的第一项映射到键 'name',第二项映射到 'product' 等 - 这需要发件人和消息的接收者确切地知道键的顺序,所以在你的例子中它可以减少到
["样品名称","样品产品","样品地址"]
你真的不能让它比这短得多。如果您有带有子键的复杂对象,您可以使用嵌套的多维数组,例如
["样品名称","样品产品",["样品地址1","样品地址2"]]
对于像多人游戏服务器网络这样的事情,这将是一个不错的选择,其中消息大小是减少延迟的主要因素,并且客户端和服务器都知道消息的结构。
严格来说Json,但有时您必须使用实用的解决方案来提高性能。