繁体   English   中英

谷歌将免费的api resposne翻译为Ruby中的JSON数组

[英]Google translate free api resposne to JSON Array in ruby

我正在使用ruby on rails开发一个简单的API,它将与Google翻译API连接(使用简单的技巧免费获得响应)并处理输出。

我的请求看起来像:

https://translate.googleapis.com/translate_a/single?client=gtx&sl=en&tl=es&dt=t&q=build

我从Google服务器获得的响应如下(无法获得json格式的响应,因为将客户端设置为“ p”不再有效)

[[[“ construir”,“ build” ,,, 1]] ,,“ en”]

在Java中,我可以通过创建JSONArray对象轻松处理该响应,但是在我的ruby on rails应用程序中找不到这样做的方法。

我正在使用rest-client发出请求

@response=RestClient.post('http://myrequestblabla')
@jsonArray = JSON.parse(response.body)

最后一行失败

JSON文本必须至少包含两个八位字节!

反正有处理这样的响应吗? 理想情况下,将其分解为JSONArray,但很高兴看到任何简洁的解决方案。

谢谢,

您可以使用YAML模块来解析此字符串。 首先在逗号之间插入空值,这样字符串将如下所示:

[[["construir","build",null,null,1]],null,"en"]

gsub对字符串进行正则表达式,并使用YAML模块的load方法:

require 'yaml'
str = RestClient.post('http://myrequestblabla')
YAML::load(str.gsub(/(?<=,),/,'nil,'))

您将得到一个数组[[["construir", "build", nil, nil, 1]], nil, "en"]

暂无
暂无

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

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