【解決了一個小問題】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