PB文件定义为int64,HTTP返回为string的问题

news2024/11/16 3:45:05

最近开发遇见一个问题,pb文件中定义的一个字段类型为int64,而客户端拿到却是string。很奇怪,经过排查原来是 proto3中json映射问题

原文链接:https://protobuf.dev/programming-guides/proto3/#json

JSON映射
Proto3 支持 JSON 中的规范编码,从而更容易在系统之间共享数据。编码在下表中按类型逐个描述。

当将 JSON 编码的数据解析到协议缓冲区中时,如果缺少一个值或者它的值为null,它将被解释为相应的 默认值。

从协议缓冲区生成 JSON 编码的输出时,如果 protobuf 字段具有默认值并且该字段不支持字段存在,则默认情况下它将从输出中省略。实现可以提供选项以在输出中包含具有默认值的字段。

使用关键字定义的 proto3 字段optional支持字段存在。设置了值且支持字段存在的字段始终在 JSON 编码输出中包含字段值,即使它是默认值。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/509965.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【GO 编程语言】 函数

函数 文章目录 函数一、什么是函数1.函数的声明 二、函数的声明和调用三、形参和实参四、可变参数五、值传递和引用传递六、函数中变量的作用域七、defer八、函数的本质探究九、匿名函数十、回调函数十一、闭包 一、什么是函数 函数是基本的代码块,用于执行一个任务。Go 语言最…

【手撕代码系列】JS手写实现apply方法

公众号:Code程序人生,分享前端所见所闻 在JavaScript中,apply()是Function对象的一个方法,它允许我们以指定的this值和参数列表调用函数。这个方法通常被用来在函数调用时动态地传递参数,或者在调用函数时绑定this值。…

chatgpt软件批量写作软件-文章改编软件

文章改编软件 文章改编软件是一种能够将原有的文本进行复制粘贴后,通过一定算法进行改写和改编的工具。其主要应用领域在于将一些内容复制到网站或博客等平台上时,避免因为重复内容而被识别为“抄袭”,从而提高文章的独特性和可读性。 然而…

TweenMax 源码阅读

GSAP 之 TweenMax 源码阅读(一) 一、背景 GreenSock (绿袜子) GreenSock 是一家做 专业级 JavaScript 动画的公司,主要产品就是其下的 GSAP (GreenSock Animation Platform),配合着 GSPA 开发了很多专业的…

前端架构师-week5-egg.js+云Mongodb快速入门

目录 下载项目模版功能实现流程分析egg.js简介 egg.js 官网 初始化 云 mongodb 云 mongodb 开通 本地 mongodb 安装 mongodb 使用方法 通过 egg.js 框架添加新的API 云 mongodb 开通 本地 mongodb 调试技巧讲解 egg.js 接入 mongodb 方法 云 mongodb 如何连接公网…

mysql深分页

第一种:主键自增id情况: 未改: select * from wx_product_category_info where category_name_cn#{categoryNameCn} and category_type#{categoryType} order by id asclimit #{pageNum}, #{pageSize};在普通的limit条件下,如果…

如何通过appuploader把ipa文件上传到App Store教程步骤

​ iOS APP上架App Store其中一个步骤就是要把ipa文件上传到App Store!​ 下面进行步骤介绍!​ 利用Appuploader这个软件,可以在Windows、Linux或Mac系统中申请ios和上传IPA到App Store Connect。​ 非常的方便,没有Mac也可以…

回炉重造十三----Docker的运用

1、Docker和虚拟机的区别 两者的区别 虚拟化环境下每个 VM 是一台完整的计算机,在虚拟化硬件之上运行所有组件,包括其自己的操作系统。 容器之间可以共享操作系统,比起 VM 被认为是更轻量级.且与 VM 类似,每个容器都具有自己的文件系统、CPU…

42电机插座接线可以用PH2.0冷压端子

文章目录 42电机插座接线可以用PH2.0冷压端子概述笔记备注END 42电机插座接线可以用PH2.0冷压端子 概述 设备上的42电机在我不断调整电机安装位置时, 接线从插孔中折断了. 问厂家, 他们的线也是定制的. 另外, 他是销售, 不清楚具体插座的型号和插座要用的冷压端子是哪种. 因为…

Java 关键字之:package与import

一、package 关键字 为了更好的实现项目中类的管理,提供包的概念使用package声明类或者接口所属的包,声明在源文件的首行包,属于标识符,遵循标识符的命名规则、规范(xxxyyyzzz)、"见名知意"每“.”一次,就代…

windows 下安装Docker (WSL2)

测试环境: VMware Workstation 17 WinServer2022 docker 4.19 python3.8 第一步:环境准备: 1.开启虚拟化 2. 开启WSL、容器功能 重启服务器 第二步: 安装docker 桌面版:Get Docker | Docker Documentation 此时启动会…

Django框架之错误视图和HTTP方法装饰器

本篇主要记录如何定义视图,错误视图有哪些并如何实现自定义, HTTP方法装饰器定义及实现,还有csrf中间件设置位置及关闭。 定义视图 一般在views.py文件下定义 视图参数: 错误视图 400视图 当出现SuspiciousOperation异常并且代…

Linux Kernel内核整体架构(图文详解)

1,前言 本文是“Linux内核分析”系列文章的第一篇,会以内核的核心功能为出发点,描述Linux内核的整体架构,以及架构之下主要的软件子系统。之后,会介绍Linux内核源文件的目录结构,并和各个软件子系统对应。…

WPF 从0开始写笔记,全属性功能深度剖析 20230510

文章目录 FontFamilyFontWeightResizeModeAllowsTransparencyMarginCornerRadiusBorder.effectBlurRadiusdirectionVerticalAlignmentTargetTypeControlTemplateDataTemplate 和ControlTemplate的区别StrokePath控件Border FontFamily 在WPF中,FontFamily属性用于指…

5月第1周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩平台)发布!

飞瓜轻数发布2023年5月1日-5月7日飞瓜数据UP主排行榜(B站平台),通过充电数、涨粉数、成长指数三个维度来体现UP主账号成长的情况,为用户提供B站号综合价值的数据参考,根据UP主成长情况用户能够快速找到运营能力强的B站…

【C++】类型转换-static_cast、reinterpret_cast、const_cast、dynamic_cast

文章目录 1. C语言中的类型转换2. 为什么C需要四种类型转换3. C强制类型转换static_castreinterpret_castconst_castdynamic_cast 4.explicit5.RTTI6.考点 1. C语言中的类型转换 在C语言中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与接收返回…

网易云信 RTC 音频问题排查的挑战与实践

背景与挑战 实时通信(Real-Time Communication,RTC)音频技术是指将音频流实时传输到远程用户的技术,满足线上实时交互的诉求,广泛应用于在线教育、视频会议、直播、泛娱乐社交、金融、医疗、政企等场景。在 RTC PaaS…

组件通信的几种方式

组件通信的几种方式 父组件向子组件传值 在父组件中用自定义组件进行传值,自定义属性写到父组件调用子组件的那个标签中。在子组件中用props进行接收,props写到子组件中与data同级,props是一个数组,内容就是自定义属性的名字。 …

SD nand 与 SD卡的SPI模式驱动

文章目录 SD nand 与 SD卡的SPI模式驱动 1. 概述 2. SPI接口模式与SD接口模式区别 2.1 接口模式区别 2.2 硬件引脚 2.3 注意事项 3. SD接口协议 3.1 命令 3.1.1 命令格式 3.1.2 命令类型 3.2 响应 3.2.1 响应格式 4. SD nand(SD卡)结构描述…

内网渗透之域环境信息搜集

1.查看是否为域环境 net config workstation下面命令能否执行成功和computer brower服务是否开启有关 net view /domain2.查询域内的用户和组 查询域内的所有用户 net user /domain查询域内的所有用户(需要在域控上敲) dsquery user查询域内的某个用户 net user dbadmin /d…