JSON-RPC v2响应result字段是否支持bool类型?客户端限制合理吗?
JSON-RPC v2
result字段的布尔值合法性问题 JSON-RPC 2.0规范完全允许bool类型作为result字段的值,你使用的RPC客户端排除bool的限制属于自身实现选择,并非规范强制要求。
规范层面的依据
官方规范仅明确:
- 成功调用时
result为必填项,调用出错时必须不存在 result的值由服务端调用的方法决定
而JSON的原生类型(包括布尔值)都属于合法的取值范围,规范没有对result的类型做额外限制,所以布尔值是完全合规的。
客户端限制的原因
你使用的RPC客户端将bool排除在允许列表外,大概率是其开发者基于特定场景的取舍:比如对接的服务极少返回布尔值,或是为了简化类型校验逻辑。但这种限制不符合JSON-RPC 2.0的规范要求,属于不合理的约束。
结论
没有任何规范层面的原因禁止把bool作为result的值,只要服务端返回的是合法JSON结构,布尔值就完全符合JSON-RPC 2.0的响应要求。
内容的提问来源于stack exchange,提问作者Patrick Kenny
相关产品推荐
相关产品推荐

