google-apps-script - 谷歌脚本 - 解析 json 响应
问题描述
这是我试图解析的 json响应(来自我的多项选择字段jsfiddle ):
{"selected":true,"disabled":false,"text":"Ctr","id":"Ctr","title":"","_resultId":"select2-selectcountry-result-je97-Ctr “,“元素”:{}},
{"selected":true,"disabled":false,"text":"Title Part1","id":"TitlePart1","title":"","_resultId":"select2-selectcountry-result-uv7s- TitlePart1","元素":{}},
{"selected":false,"disabled":false,"text":"Milan","id":"Milan","_resultId":"select2-selectcountry-result-bmba-Milan","element":{ }}]
我需要得到: {" id ":value},{" id ":value},{" id ":value} ...
{id:Ctr},{"id":"TitlePart1"},{"id":"Milan} ...
为了达到这个结果,我使用了这段代码:
var response = (JSON.stringify($('#selectcountry').select2('data')) );
var json = JSON.parse(response);
var dataSet = json;
var row = [],
data;
for(var i in json){
data = dataSet[i];
row.push({'id': json[i].id})
}
sheet.getRange(6,1).setValue(row);
但通过这种方式,我只得到第一个 id:value:
{id:Ctr}
有什么帮助吗?
谢谢
解决方案
var s='[{"selected":true,"disabled":false,"text":"Ctr","id":"Ctr","title":"","_resultId":"select2-selectcountry-result-je97-Ctr","element":{}},{"selected":true,"disabled":false,"text":"Title Part1","id":"TitlePart1","title":"","_resultId":"select2-selectcountry-result-uv7s-TitlePart1","element":{}},{"selected":false,"disabled":false,"text":"Milan","id":"Milan","_resultId":"select2-selectcountry-result-bmba-Milan","element":{}}]';
function findId() {
var d=JSON.parse(s);
var ids=[];
d.forEach(function(o){
ids.push(o.id);
});
Logger.log(ids);
//Add this
SpreadsheetApp.getActiveSheet().getRange(1,1,1,3).setValues([ids]);
}
推荐阅读
- python - 使用 python 语言编码时,如何将每次迭代产生的值存储在 FOR 循环中?
- python - TypeError:运行排序函数时无法解压不可迭代的 NoneType 对象
- java - logback 是否支持 JPMS 层/模块的单独日志记录?
- java - 使用 DynamoDBMapper 按列查询 DynamoDB
- java - Java:在 Spring Boot 应用程序中单独重复运行子映射查询
- python - 如何在 python/excel 中将一列排列在另一列之下
- python - 如何从冻结推理图中获取输入形状以进行 tflite 转换
- google-cloud-platform - Terraform:谷歌云。为什么没有组织就不能创建新项目?
- c - realloc():下一个大小无效。将http页面读入字符串失败
- python - 如何修复 cmdline 执行错误?使用python爬取网页