代码之家  ›  专栏  ›  技术社区  ›  user2667066

web2py-json返回是否有多余的空白,如果有,如何删除

  •  0
  • user2667066  · 技术社区  · 9 年前

    "field": [[110468, "Octopus_vulgaris", "common octopus"...
    

    而不是

    "field":[[110468,"Octopus_vulgaris","common octopus"...
    

    我正在尝试让一些API调用返回最快、最简洁的JSON表示,所以我非常感谢您接受任何其他提示。例如,我看到视图调用 from gluon.serializers import json -是每次使用视图时都重新导入,还是python足够聪明,只使用一次。我希望是后者。

    1 回复  |  直到 9 年前
        1
  •  1
  •   Anthony    9 年前

    通用。json视图调用 gluon.serializers.json ,它最终会调用 json.dumps 来自Python标准库。默认情况下, json.dumps文件 在分隔符后插入空格。如果不需要空格,则无法使用泛型。json视图。您可以改为:

    import json
    output = json.dumps(input, separators=(',', ':'))
    

    如果 input 包括一些不可JSON序列化的数据,您希望利用中实现的特殊数据类型转换 胶子序列号.json (即datetime对象和各种特定于web2py的对象),可以执行以下操作:

    import json
    from gluon.serializers import custom_json
    output = json.dumps(input, separators=(',', ':'), default=custom_json)
    

    使用上述方法,您可以编辑通用。json视图,创建您自己的自定义json视图,或者直接从控制器返回json。

    此外,无需担心在Python中重新导入模块——解释器只加载一次模块。