2016-07-15 3 views
0

Если ответ отсутствует, я не могу его найти. Я пытаюсь работать с Json в powershell, и целевая система ищет массив хэш-таблиц. Каждая хеш-таблица имеет имя элемента в качестве значения. Вот как я создаю мой массив:Попытка добавить объект к массиву hashtables в powershell

$json = @{ 
update = @{   
    customfield_11136 = @(@{ setty = @(@{ value="testValue" })}) 
} 
} 

Фактический массив совсем немного больше, но это часть я работаю в данный момент. Я пытаюсь добавить дополнительное значение в $ json.update.customfield_11136.setty.

В конечном итоге результат должен выглядеть примерно так:

{ 
    "update": { 
     "customfield_11136": [{ 
      "set": [{ 
       "value": "E0" 
      }, { 
       "value": "N0" 
      }, { 
       "value": "T0" 
      }] 
     }] 
    } 
} 

Но мне нужно, чтобы иметь возможность добавить дополнительные значения после первоначального создания.

Я пробовал каждую комбинацию, о которой я мог думать с помощью .add() и + =, но я не могу заставить что-нибудь работать. Я считаю, что это проблема пунктуации с моей стороны, но я довольно новичок в работе с массивами hashtable и пробовал все, что мог придумать.

Цените любой вход.

ответ

1

Основываясь на вашем примере это работает для меня:

$json["update"]["customfield_11136"][0]["setty"] += @{"value"="E0"} 

ConvertTo-Json -Depth 5 $json 
+0

Спасибо! Безупречный. –

+0

@PaulC. Не могли бы вы пометить это как принятый ответ? В противном случае другие пользователи видят, что вопрос остается открытым. – TToni

Смежные вопросы