我的一个要求是-使用WINDOWS,不要使用AWS CLI或WINDOWS中尚未提供的任何工具。例如,我有一个包含以下内容的json文件Test.json:"My number is $myvar"
我将这段代码读入PowerShell变量,如下所示:
$myobj=(get-content .\test.json | convertfrom-json)
$myvar=1
从这里开始,我想用$myobj
做一些事情,使我能够获得以下输出:
$myobj | tee json_with_values_from_environment.json
My number is 1
我在IEX上取得了一些有限的成功,但不确定它是否可以用于本例
2条答案
按热度按时间bakd9h0s1#
您可以使用
$ExecutionContext.InvokeCommand.ExpandString()
输出
lhcgjxsq2#
以下是使用
Parser
查找所有VariableExpressionAst
并用会话中的值替换它们的一种方法。给定以下
test.json
:我们希望使用当前会话中定义的相应值查找并替换
$myvar
、$myothervar
和$anothervar
,因此代码如下所示(请注意,我们在将Json字符串转换为对象之前进行替换,这种方式要容易得多):如果我们将其转换回Json以查看结果: