gkiwi
V2EX  ›  问与答

[求压缩工具]有没有什么前后端 json 通信的数据压缩工具?

  •  
  •   gkiwi · Oct 25, 2014 · 3389 views
    This topic created in 4245 days ago, the information mentioned may be changed or developed.

    前后端用json通信,比如:

    {
        "users":[
            {"name":"张三","age":18,...},
            {"name":"李四","age":20,...},
            ...
        ]
    
    }
    

    压缩为:

    {
        "a":[
            {"aa":"张三","age":18,...},
            {"ab":"李四","age":20,...},
            ...
        ]
    
    }
    

    主要是name,age之类的key重复太多(可能会有上百条,不要问我为什么不分页:( ).当然直接保存成list进行传输比较省带宽,但是这样子又不方便调试之类的.有没有什么通用的压缩工具(支持web,android,ios多平台…)
    或者大家一般都如何处理这方面的事情,求分享..
    但是不要影响前后端"正常"的开发,前后端处理的依然是"name"之类的key…

    6 replies    2014-10-26 16:53:42 +08:00
    SoloCompany
        1
    SoloCompany  
       Oct 25, 2014
    为什么不用gzip
    banbanchs
        2
    banbanchs  
       Oct 25, 2014
    mcfog
        3
    mcfog  
       Oct 25, 2014
    可以看看protobuf
    gkiwi
        4
    gkiwi  
    OP
       Oct 26, 2014
    @SoloCompany
    @banbanchs

    谢谢:)
    之前只听说gzip能压缩,但从来没开启过这个参数...刚刚用python写了段demo测试了,效果确实不错,棒棒的!


    @mcfog

    谢谢:)
    第一次听说protobuf,查了下相关资料(eg. https://news.ycombinator.com/item?id=2571729),看起来压缩比不错.将来会考虑的.只不过需要其他人支持的话,接受程度应该不如gzip高..依然非常感谢:)
    yyfearth
        5
    yyfearth  
       Oct 26, 2014
    如果纯粹看效率 google的protobuf要好的多
    但是兼容性易用性肯定还是json好
    gkiwi
        6
    gkiwi  
    OP
       Oct 26, 2014
    @yyfearth 确实如此:)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   964 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 20:10 · PVG 04:10 · LAX 13:10 · JFK 16:10
    ♥ Do have faith in what you're doing.