[使用powershell在多个级别下如何删除json中的属性

问题描述 投票:0回答:1

使用powershell如何在json中删除属性synonymMaps

{
    "name":  "dev-contentitem-text-index",
    "defaultScoringProfile":  null,
    "fields":  [
                   {
                       "name":  "id",
                       "type":  "Edm.String",
                       "searchable":  false,
                       "filterable":  false,
                       "retrievable":  true,
                       "sortable":  false,
                       "facetable":  false,
                       "key":  true,
                       "indexAnalyzer":  null,
                       "searchAnalyzer":  null,
                       "analyzer":  null,
                       "synonymMaps":  ""
                   },
                   {
                       "name":  "myvalue",
                       "type":  "Edm.String",
                       "searchable":  false,
                       "filterable":  false,
                       "retrievable":  true,
                       "sortable":  true,
                       "facetable":  false,
                       "key":  true,
                       "indexAnalyzer":  null,
                       "searchAnalyzer":  null,
                       "analyzer":  null,
                       "synonymMaps":  ""
                   }
               ]
}

我曾尝试删除synonymMaps,但我放弃了顶层属性名称和defaultScoringProfile。我需要完整的东西,但删除了synonymMaps。

$indexDefinition  = Get-Content $storedIndex.FullName

$indexDefinition = ($indexDefinition| ConvertFrom-Json)

$indexDefinition.fields|Select-Object * -ExcludeProperty "*synonymMaps*"
json powershell
1个回答
0
投票

这是一个嵌套的json结构,您需要为其提供递归功能:

© www.soinside.com 2019 - 2024. All rights reserved.