我想知道是否有一种快速方法可以从GRPC客户端返回的\Google\Protobuf\Internal\Message
对象中获取PHP数组,而无需将响应对象字段显式映射到数组。
GRPC tutorial似乎通过调用他们的getter来获取字段:
$point = new Routeguide\Point();
$point->setLatitude(409146138);
$point->setLongitude(-746188906);
// $feature is the response
list($feature, $status) = $client->GetFeature($point)->wait();
// Calling getters here
print sprintf("Found %s \n at %f, %f\n", $feature->getName(),
$feature->getLocation()->getLatitude() / COORD_FACTOR,
$feature->getLocation()->getLongitude() / COORD_FACTOR);
有更快的方法吗?我在decode()
课程上看到\Google\Protobuf\Internal\Message
方法但是没有幸运能让它发挥作用。我也不知道这是否是它的预期目的。
答案 0 :(得分:0)
我知道现在有点晚了,但是对于今天正在寻找答案的任何人,
下面是我将gRPC对象响应直接序列化为json对象的方法:
$feature->serializeToJsonString();