登录
首页 >  Golang >  Go问答

如何限制JSON中的字段数量?

来源:stackoverflow

时间:2024-03-03 15:24:24 410浏览 收藏

编程并不是一个机械性的工作,而是需要有思考,有创新的工作,语法是固定的,但解决问题的思路则是依靠人的思维,这就需要我们坚持学习和更新自己的知识。今天golang学习网就整理分享《如何限制JSON中的字段数量?》,文章讲解的知识点主要包括,如果你对Golang方面的知识点感兴趣,就不要错过golang学习网,在这可以对大家的知识积累有所帮助,助力开发能力的提升。

问题内容

我正在 go 中构建一个 web 服务器,它接收 json 并将其发送到数据库 (postgresql),然后数据库对其进行处理并创建一些实体。让我担心的是,接收到的 json 中的字段数量可能很大,例如

{
  "a":1,
  "b": 2,
  ...
}

它可能会极大地影响数据库的性能。是否有现成的解决方案/包来解决此问题,因为我不想编写自定义 json.unmarshaler


解决方案


您可以添加这样的检查约束:

CHECK (cardinality(json_object_keys(jsoncol)) <= 30)

这将确保顶级条目不超过 30 个。当然,每个条目都可以包含嵌套的、可能很大的值,但如果您的 json 看起来像问题中的那样,那就足够了。

是的。您必须检查大小,如果太大则中止。 这可以在读取请求时完成,同时 解组 json 或在将数据放入之前 数据库。所有变体都涉及编程。

到这里,我们也就讲完了《如何限制JSON中的字段数量?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>