问题描述
我看了很多示例,但是我无法使代码正常工作。 JSON的结构似乎与我所见过的其他任何结构都不相同。我需要遍历这些结果并获取“ id”和“ legalName”。
[
"URL: https://myurl.com/rest/api",{
"value": [
{
"id": 271,"client": "@{id=245; clientCode=; clientName=}","dbaName": null,"federalEIN": "","legalCode": "01","legalName": "Test1","naicsCode": null,"status": "Active","links": " "
},{
"id": 272,"legalCode": "02","legalName": "Test2","status": "Terminated","links": " "
}
],"Count": 6
}
]
我尝试了许多不同的代码示例,但是都没有用。这什么也不会返回。我似乎无法完全了解所需的属性。
$var = Get-RestData("https://myurl.com/rest/api/") | ConvertTo-Json
$var["value"] | select id
解决方法
您可以使用function onEdit(e) {
const row = e.range.getRow();
const col = e.range.getColumn();
const sheet = e.source.getSheetByName("Completed Tasks");
const lastRow = sheet.getLastRow();
const active_sheet = e.source.getActiveSheet();
if(col == 5 && row > 1 && active_sheet.getName() === "Monthly Sheet" && e.range.getValue()=='Done') {
var ref_date = active_sheet.getRange(row,4).getValue();
ref_date.setDate(ref_date.getDate() + 30);
active_sheet.getRange(row,4).setValue(ref_date);
active_sheet.getRange(row,col+1).setValue(new Date());
const values = active_sheet.getRange(row,1,active_sheet.getLastColumn()).getValues();
sheet.getRange(lastRow+1,values.length,values[0].length).setValues(values);
active_sheet.getRange(row,active_sheet.getLastColumn()).clearContent();
}
}
cmdlet将JSON格式的字符串转换为可以迭代的ConvertFrom-Json
。
PSCustomObject
返回:
$json = @"
[
"URL: https://myurl.com/rest/api",{
"value": [
{
"id": 271,"client": "@{id=245; clientCode=; clientName=}","dbaName": null,"federalEIN": "","legalCode": "01","legalName": "Test1","naicsCode": null,"status": "Active","links": " "
},{
"id": 272,"legalCode": "02","legalName": "Test2","status": "Terminated","links": " "
}
],"Count": 6
}
]
"@
$json | ConvertFrom-Json | ForEach-Object { $_.value } | Select id,legalName