我的批处理过程(创建一些文件夹)进行得很好,但是我返回的响应不是我期望的干净的JSON,但它散布了纯文本标题。如何摆脱它们或正确解析呢?
--batch__AAPXnCR1-5Q
Content-Type: application/http
Content-ID: response-1
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Date: Wed, 02 Oct 2019 22:44:16 GMT
Expires: Wed, 02 Oct 2019 22:44:16 GMT
Cache-Control: private, max-age=0
Content-Length: 140
{
"kind": "drive#file",
"id": "1pznPt",
"name": "SF1-B1",
"mimeType": "application/vnd.google-apps.folder"
}
--batch_z3tbQ5Q
创建这些文件夹之后,我只需要能够提取它们的ID和名称。
这个答案怎么样?
[遗憾的是,无法使用Google Apps脚本和Javascript的内置功能直接解析响应值。因此,就我而言,我使用以下脚本解析响应值。我认为有几种方法可以解决这种情况。因此,请仅将此作为几个答案之一。
var response = UrlFetchApp.fetch(url, options).getContentText(); // Here, the batch request is run.
var temp = response.split("--batch");
var parsedValue = temp.slice(1, temp.length - 1).map(function(e){return JSON.parse(e.match(/{[\S\s]+}/g)[0])});
var response = UrlFetchApp.fetch(url, options).getContentText(); // Here, the batch request is run.
var parsedValue = response.match(/{[\s\S]+?}/g).map(function(e) {return JSON.parse(e)});
如果这不是您想要的方向,我很抱歉。