繁体   English   中英

从Ruby On Rails中的SOAP响应中解析包含数组的字符串

[英]Parsing a string containing an Array from a SOAP response in Ruby On Rails

我正在使用Ruby on Rails中的Savon向SOAP接口发送请求。

我遇到的问题是结果以包含数组的字符串形式返回:

数组([0] =>访问[1] =>胡同[2] =>锚点[3] =>公寓[4] =>拱廊[5] =>大道[6] =>银行[7] =>海湾[8] =>海滩[9] =>皮带[10] =>弯曲[11] =>木板行走[12] =>人造板[13] =>人造板)

我尝试使用Savon函数.to_hash解析结果,但这部分仍然是字符串。 我也尝试在字符串上使用Nori.parse ,但这会返回一个空哈希。

使用SOAP接口时,有人遇到过类似的问题吗? 将其解析为Ruby数组的最佳方法是什么?

我想在开始使用正则表达式将hacky代码放入正确的格式,然后在其上调用eval()之前先解决这个问题。

任何建议深表感谢。

如果您的结果看起来像示例一样,这就是我遵循以下其中一种方法获取值的方法:

string = 'Array ( [0] => ACCESS [1] => ALLEY [2] => ANCHORAGE [3] => APARTMENTS [4] => ARCADE [5] => AVENUE [6] => BANK [7] => BAY [8] => BEACH [9] => BELT [10] => BEND [11] => BOARDWALK [12] => BOULEVARD [13] => BOULEVARDE)'
string.scan(/=> ([A-Z]+)/i).flatten
=> ["ACCESS", "ALLEY", "ANCHORAGE", "APARTMENTS", "ARCADE", "AVENUE", "BANK", "BAY", "BEACH", "BELT", "BEND", "BOARDWALK", "BOULEVARD", "BOULEVARDE"]

要么:

string.scan(/\b[A-Z]+\b/)

返回相同的结果,只允许使用大写单词。 如果您遇到大小写混合的情况,这将失败,并且由于前导的“数组”,使其不区分大小写也将失败。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM