在 KRL 中处理响应
我正在使用 KRL 通过他们的 API 向 google 发送请求,这是我从他们那里得到的字面响应:
handleResponse({ "data": { "responses": [ { "response": "successful" } ] } } );
您建议我如何通过 pick 处理这个请求,因为它不是“有效”的 JSON 语法?它包含有效的 JSON 语法,但作为一个整体是无效的。感谢您的帮助。
I'm sending a request to google via their API using KRL and this is the literal response I am getting back from them:
handleResponse({ "data": { "responses": [ { "response": "successful" } ] } } );
How do you recommend I process this via pick as it is not 'valid' JSON syntax? It contains valid JSON syntax, but as a whole is not valid. Thanks for your help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
更新:查看 Google 翻译 API 后,看起来 JSONP 回调参数是可选的。不要指定回调,您将不再遇到此问题。 :)
http://code.google.com/apis/language /translate/v2/using_rest.html#WorkingResults
更好的选择:
如果可以,请在对 google API 的调用中指定不存在回调函数。如果您可以只请求纯 JSON 而不是 JSONP,则可以仅使用 pick 运算符。
不是更好的选择:
如果 API 仅返回 JSONP,那么您可以执行正则表达式替换以从 JSON 中删除填充,然后您就可以使用选择运算符。
您需要什么:
完整的应用程序示例:
Update: After looking at the Google translate API it looks like the JSONP callback parameter is optional. Don't specify a callback and you will no longer have this issue. : )
http://code.google.com/apis/language/translate/v2/using_rest.html#WorkingResults
Better option:
If you can, specify in your call to the google API that there be no callback function. If you can just request plain JSON instead of JSONP you can just use the pick operator.
Not so better option:
If the API only returns JSONP then you can do a regex replace to remove the padding from the JSON which will then allow you to use the pick operator.
What you'll need:
Full app example: