【解决了一个小问题】golang protocol buffers 3中去掉json标签中的omitempty


参考了这篇帖子:golang protobuf从生成的json标记中删除omitempty标记

由于是在windows上开发,因此写了一个python脚本来解决:

remove_tag.py

import sys

def main():
    argc = len(sys.argv)
    if argc<2:
        print('usage:%s <xxx.go>'%sys.argv[0])
        return
    f = open(sys.argv[1], 'rb')
    if not f:
        print("open file error:%s"%sys.argv[1])
        return
    s = f.read().decode('utf-8')
    f.close()
    s = s.replace(',omitempty', '')
    #
    f = open(sys.argv[1], 'wb')
    f.write(s.encode('utf-8'))
    f.close()
    print('ok')

if __name__=='__main__':
    main()

然后生成pb.go的bat文件这样写:
gen_pb.bat

protoc --plugin=protoc-gen-go.exe --go_out=../ *.proto
python remove_tag.py ../src/pb/interface.pb.go


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM