[英]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.