我从Gmail API的成功通话中得到以下回复:
#<Google::Apis::GmailV1::Profile:0x00007f9ad2160210 @email_address="email@example.com", @history_id=15581926, @messages_total=174760, @threads_total=127619>
但是,当我使用awesome_print或pretty print(两者都通过User.first
等测试输出预期格式)将其打印到控制台时,它不会将响应重新格式化为可读格式。 / p>
我试过了
ap JSON.parse(response)
我得到了
no implicit conversion of Google::Apis::GmailV1::Profile into String
我确信我不了解API的响应格式以及awesome_print的期望。有没有一种方法可以解析响应,使其在控制台中更具可读性?
答案 0 :(得分:0)
Google::Apis::GmailV1::Profile
是一个简单的类,没有实现任何可以帮助它进行漂亮的打印(除to_h
外,请参见下文。)
你可以自己做:
Google::Apis::GmailV1::Profile.prepend(Module.new do
def pp
%i|email_address history_id messages_total threads_total|.map do |attr|
[attr, public_send(attr)]
end.to_h
end
end)
并使用response.pp
来打印它。或者,或者,只需使用它默认提供的内容:response.to_h
。
答案 1 :(得分:0)
将响应转换为哈希是解决方案。
val rdd = myRDD.mapPartitions{ iter =>
val modCol = ???
iter.map(
x => {
(x.getId, x.getAttribute(modCol))
})
}