我尝试在Powershell的5.1版本中将JSON转换为哈希表。但是输出再次作为FieldMapping键的对象。我们可以获得FieldMapping键的键值对吗?
我们在7.1版本中有ConvertFrom-Json-AsHashtable。理想情况下,在5.1版本中也会尝试获得相同的o/p。下一步我可以尝试什么?
- 我的儿子:**
$json = '[
{
"EntityType": "IP",
"FieldMapping": [
{
"ColumnName": "FileHashCustomEntity"
"Identifier": "Address"
}
]
}
]'
- 我的密码:**
$entities = $json | ConvertFrom-Json
$ht2 = @{}
$hash = $entities.psobject.properties | Foreach { $ht2[$_.Name] = $_.Value }
echo $ht2
- 我的输出:**
Key : EntityType
Value : IP
Name : EntityType
Key : FieldMapping
Value : {@{ColumnName=FileHashCustomEntity; Identifier=Address}}
Name : FieldMapping
- 预期产出:**
Key : EntityType
Value : IP
Name : EntityType
Key : FieldMapping
Value : {FileHashCustomEntity}
Name : FieldMapping
2条答案
按热度按时间b5buobof1#
这是可行的。包括调试语句,以便您可以看到数据是如何组织的
e1xvtsh32#
现在,您将得到一个包含自定义对象作为条目的顶级哈希表-您需要做的是 * 递归地 * 转换结果对象层次结构中的 * 每个对象 *。
下面是一个简单的函数:
现在您可以执行以下操作: