错误解组数据'\''寻找值 Ghz 到 gRPC 的开头

Posted

技术标签:

【中文标题】错误解组数据\'\\\'\'寻找值 Ghz 到 gRPC 的开头【英文标题】:Error unmarshaling data '\'' looking for beginning of value Ghz to gRPC错误解组数据'\''寻找值 Ghz 到 gRPC 的开头 【发布时间】:2021-05-05 23:25:48 【问题描述】:

我有一个简单的 gRPC 服务,我们需要对其进行负载测试和基准测试。 所以我们正在测试https://ghz.sh/docs/intro

service TestService 
    rpc SimpleTest (SimpleRequest) returns (SimpleReponse);


message SimpleRequest
    string Name = 1;


message SimpleReponse
    bool Received = 1;


我正在尝试用 ghz 调用它 ghz --insecure --call Interface.SimpleTest -d '"Name":"test"' 0.0.0.0:6001 ghz --insecure --call Interface.SimpleTest -d '"Name":"test"' 0.0.0.0:6001

但它总是返回:

ghz: 错误: 解组数据时出错 ''name:test'': 无效字符 ''' 寻找值的开头。

我在 Windows 上运行它。 .NET Core 5。

我知道该服务可以正常工作,因为我使用 BloomRPC 尝试了类似的调用并且工作起来就像一个魅力

问候

J

【问题讨论】:

你在哪个 shell 中运行它? 常用的windows命令行 很有趣...使用 powershell 我可以执行该行...现在对于更复杂的对象我有另一个错误...但这是一个开始!谢谢@Evert 顺便说一句,我需要转义引号 是的,这就是我问的原因。不同的shell有不同的转义规则。我真的不知道这两个 shell 的规则,但是学习它们会很好 【参考方案1】:

感谢@Evert,这不仅与 ghz 本身有关,也与 gRPC 本身有关。

但是对于那些试图使用 windows 命令行解析 json 字符串的人来说,希望它有所帮助。

【讨论】:

以上是关于错误解组数据'\''寻找值 Ghz 到 gRPC 的开头的主要内容,如果未能解决你的问题,请参考以下文章

PHP使用gRPC请求GO服务实战

GRPC的HTTP返回值int64被转为string类型

从 mac 移植到 linux/windows 并寻找一个跨平台的 XPC 等价物

我对随机化有啥误解吗?

罗永浩:未担任任何城市形象大使 部分媒体标题或话题错写 造成公众误解

Kotlin/JVM 上的 Grpc