JSON和对其他JSON对象的引用

斯图尔特·诺里斯(StuartNorris)MBA

我是Powershell的新手,正在尝试瘦身。我想解析在Powershell中具有对其他JSON对象的引用的JSON对象。

在我的JSON文件中,我定义了一个默认对象,其值为key = W。我希望能够在其他JSON对象中使用此$ default.value引用,以避免在多个地方定义值。

提取键$ driveletter = $ json.target.driveletter时,我无法算出能够将字符串$ default.value转换为W值的语法

在Powershell中这可能吗?

谢谢

斯图尔特

Example.JSON

{default: {value: "W"},target: {driveletter: "'"$default.value"}}

must-example.ps1

$json = (Get-Content "example.json" -Raw) | ConvertFrom-Json
#
#Create object called default that I can reference from other objects
#
$default=$json.default
$default.value
#
# How do I use the string in the json.target.driveletter 
#
$json.target.driveletter
$driveletter=$json.target.driveletter
$driveletter
$json.target.driveletter.GetType()

输出

.\doit-example.ps1
W
$default.value
$default.value

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     String                                   System.Object
哈拉德·F。

将您的json文件模板更改为可以更正确地解析为powershell-string模板的字符串模板:

范例(test.json):

{default: {value: "W"},target: {driveletter: "$($default.value)"}}

然后,您可以执行以下操作:

$file = "C:\tmp\test.json";
# Read the "template json with defaults"
$json = (Get-Content $file -Raw) | ConvertFrom-Json
# Read the raw content into a variable for expansion
$rawContent = (Get-Content $file -Raw);
# Set the default object (to be able to expand string)
$default = $json.default;
# Your new json
$newJson = ($ExecutionContext.InvokeCommand.ExpandString($rawContent)) | ConvertFrom-Json

这将用您设置的任何默认对象替换“ json”模板的内容。请注意,使用expandstring时,您需要在会话中设置“默认”。

此示例的输出将产生:

default    target          
-------    ------          
@{value=W} @{driveletter=W}

您可以访问$ newJson.targer.driveletter的属性(它将设置为默认值)

要打印目标驱动器号(使用默认值替换的值),请使用:

$newJson.target.driveletter

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在JSON中存储对象引用

来自分类Dev

引用JavaScript中其他对象属性的对象属性

来自分类Dev

JSON:在textArea中处理换行符(和其他无效的JSON-Chars)

来自分类Dev

杰克逊(Jackson):JSON模式引用了其他模式,可以禁用它吗?

来自分类Dev

如何在Xcode中引用图像和其他对象以及如何在物理上放置它们?

来自分类Dev

将字段包装到其他JSON对象中

来自分类Dev

引用变量和其他形式的对象

来自分类Dev

如何正确引用其他JSON模式文档($ ref)

来自分类Dev

如何与其他json对象的值进行比较

来自分类Dev

JSON和对其他JSON对象的引用

来自分类Dev

找不到类型为“对象”的其他支持对象“ [对象对象]”。->要在表中显示的VirusTotal JSON

来自分类Dev

在其他JSON对象Flutter中获取一个JSON List对象

来自分类Dev

Java中的String引用类型与其他对象相比

来自分类Dev

根据其他键值更改json对象中的值

来自分类Dev

基于其他数组对JSON对象数组的更改

来自分类Dev

使用JSON文件中的数据作为对其他JSON文件中数据的引用

来自分类Dev

将字段包装到其他JSON对象中

来自分类Dev

Python:对类对象的其他实例的引用

来自分类Dev

Django模型引用其他类的对象

来自分类Dev

在JavaScript或Json上获取其他数据对象

来自分类Dev

引用变量和其他形式的对象

来自分类Dev

链接范围和访问其他对象

来自分类Dev

Django从其他对象获取最多引用的对象

来自分类Dev

其他类的JSON响应

来自分类Dev

通过引用将对象传递给其他对象

来自分类Dev

比较两个 json 对象并删除元素,然后将结果 json 与其他 json 文件进行比较

来自分类Dev

在 JSON 中引用对象

来自分类Dev

如何引用和计算 Javascript 对象的其他部分?

来自分类Dev

如何在没有来自其他类的嵌套对象的情况下返回 JSON 对象?

Related 相关文章

  1. 1

    在JSON中存储对象引用

  2. 2

    引用JavaScript中其他对象属性的对象属性

  3. 3

    JSON:在textArea中处理换行符(和其他无效的JSON-Chars)

  4. 4

    杰克逊(Jackson):JSON模式引用了其他模式,可以禁用它吗?

  5. 5

    如何在Xcode中引用图像和其他对象以及如何在物理上放置它们?

  6. 6

    将字段包装到其他JSON对象中

  7. 7

    引用变量和其他形式的对象

  8. 8

    如何正确引用其他JSON模式文档($ ref)

  9. 9

    如何与其他json对象的值进行比较

  10. 10

    JSON和对其他JSON对象的引用

  11. 11

    找不到类型为“对象”的其他支持对象“ [对象对象]”。->要在表中显示的VirusTotal JSON

  12. 12

    在其他JSON对象Flutter中获取一个JSON List对象

  13. 13

    Java中的String引用类型与其他对象相比

  14. 14

    根据其他键值更改json对象中的值

  15. 15

    基于其他数组对JSON对象数组的更改

  16. 16

    使用JSON文件中的数据作为对其他JSON文件中数据的引用

  17. 17

    将字段包装到其他JSON对象中

  18. 18

    Python:对类对象的其他实例的引用

  19. 19

    Django模型引用其他类的对象

  20. 20

    在JavaScript或Json上获取其他数据对象

  21. 21

    引用变量和其他形式的对象

  22. 22

    链接范围和访问其他对象

  23. 23

    Django从其他对象获取最多引用的对象

  24. 24

    其他类的JSON响应

  25. 25

    通过引用将对象传递给其他对象

  26. 26

    比较两个 json 对象并删除元素,然后将结果 json 与其他 json 文件进行比较

  27. 27

    在 JSON 中引用对象

  28. 28

    如何引用和计算 Javascript 对象的其他部分?

  29. 29

    如何在没有来自其他类的嵌套对象的情况下返回 JSON 对象?

热门标签

归档