过滤掉为 null 的 json

本贴最后更新于 2452 天前,其中的信息可能已经时移世改

python 里面过滤


def del_none(d):
    """
    Delete keys with the value ``None`` in a dictionary, recursively.

    This alters the input so you may wish to ``copy`` the dict first.
    """
    # d.iteritems isn't used as you can't del or the iterator breaks.
    for key, value in d.items():
        if value is None:
            del d[key]
        elif isinstance(value, dict):
            del_none(value)
    return d  # For convenience

...............

result_dic = {
    'meta': {
        'metaCode': 'Success',
        'cost': cost,
        'timestamp': end,
        'postname': 'python'

  },
    'data': {
        'image': image,
        'title': title
    }
}
json.dumps(del_none(result_dic))

golang 里面过滤掉为 null 的字段

定义 omitempty 即可

type imageInfo struct {
	Width           int    `json:"width,omitempty"`
	Height          int    `json:"height,omitempty"`
	Author          int    `json:"author,omitempty"`
	Size            int64  `json:"size,omitempty"`
	Format          string `json:"format,omitempty"`
	Ua              string `json:"ua,omitempty"`
	DecoderPlatform string `json:"DecoderPlatform,omitempty"`
}

java 过滤掉不用 null 字段

  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    534 引用 • 671 回帖
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    491 引用 • 1383 回帖 • 370 关注
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    51 引用 • 190 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...