你如何处理来自谷歌的JSON响应?
这就是我获得JSON的方式:
res.on('data', function (chunk) {
//process.stdout.write(chunk);//formats it like I need it
var lines =JSON.parse(chunk);
});
我从google获得的内容(例如),Google JSON的外观如何:
{ success: false, 'error-codes': [ 'missing-input-response' ] }
我认为会起作用:
JSON.parse("{ success: false, 'error-codes': [ 'missing-input-response' ] }").success;
当然它不起作用,因为它不适合格式化。
实际上有什么用(但为此我需要从谷歌转换JSON):
JSON.parse("{ "success": false, "error-codes": [ "missing-input-response" ]}").success
然后我找到this:
var req = http.request(options, function(res) {
res.setEncoding('utf8');
res.on('data', function(chunk) {//chunk is the JSON from google
var lines = chunk.split("\n");
if(lines.length >= 2) {
if(lines[0] == 'true')
that._recaptcha_response.is_valid = true;
that._recaptcha_response.error = lines[1];
}
that.emit('data', that._recaptcha_response);
});
});
但这似乎不适用于我的地方,也许他们将JSON从recaptcha版本1更改为版本2!。
已更新
更深入的了解如下:
答案 0 :(得分:0)
看起来JSON可能已经为您解析了。 { success: false, 'error-codes': [ 'missing-input-response' ] }
是Node.js打印出对象的方式。
答案 1 :(得分:0)
好的,这解决了我的问题:
echo '*.py diff=python' >> .gitattributes
假设JSON.parse(blal.replace(/\n|\r/g, "")).success;
是谷歌JSON。