0

@response收到了 Sage Pay 的回复:

VPSProtocol=2.23 Status=OK StatusDetail=Server transaction registered successfully. VPSTxId={C9B14A59-1EB7-4A56-A4B1-29B84BE4861B} SecurityKey=VGGPR12XC1 NextURL=https://test.sagepay.com/Simulator/VSPServerPaymentPage.asp?TransactionID={C9B14A59-1EB7-4A56-A4B1-XXXXXXXXXXXXX} 

如何将其拆分为以下哈希:

@response['VPSProtocol'] = "2.23"
@response['Status'] = "OK"
....

?

(响应中的参数是换行符分开的\r\n

4

1 回答 1

1

你可以做这样的事情......

response = "VPSProtocol=2.23\r\nStatus=OK\r\nStatusDetail=Server transaction registered successfully."
response_hash = {}

response.split("\r\n").map do |value|
  key, value = value.split("=")
  response_hash[key] = value
end

print response_hash

我确信 ruby​​ 中有一种方便的方法来进行这种映射,但这是一个快速的解决方案。希望听到来自社区的一些更好的想法!

于 2012-08-28T10:35:44.130 回答