1
一直工作了一个小时,无法到达它的底部。下面的代码建立哈希表的阵列,增加了该阵列到另一个散列表与一群其他键 - 值对沿,然后转换一大堆JSON:哈希表数组没有被转换为JSON通过ConvertTo-Json
$01_ch_channel_hist_id = @{"ColumnName"="01_ch_channel_hist_id";"ColumnType"="bigint"}
$02_ch_channel_id = @{"ColumnName"="02_ch_channel_id";"ColumnType"="bigint"}
$08_ch_load_id = @{"ColumnName"="08_ch_load_id";"ColumnType"="bigint"}
$columns = $01_ch_channel_hist_id,$02_ch_channel_id,$08_ch_load_id
$ChannelDimH = @{}
$ChannelDimH.Add("Columns",$columns)
$ChannelDimH.Add("TableName","CHANNEL_DIM_H")
$ChannelDimH.Add("UniqueColumn","channel_id")
$tables = @()
$tables += $ChannelDimH
$sqoopOracleTableAndColumnMetadata = @{}
$sqoopOracleTableAndColumnMetadata.Add("tables",$tables)
$sqoopOracleTableAndColumnMetadata | ConvertTo-Json
这里是输出:
{
"tables": [
{
"TableName": "CHANNEL_DIM_H",
"UniqueColumn": "channel_id",
"Columns": "System.Collections.Hashtable System.Collections.Hashtable System.Collections.Hashtable"
}
]
}
注意,“列”阵内hastables得到返回:
"System.Collections.Hashtable System.Collections.Hashtable System.Collections.Hashtable"
这些哈希表中的数据不会出现在我的JSON文件内。为什么不?
啊我已经想通了。它的ConvertTo-Json的深度参数:$ sqoopOracleTableAndColumnMetadata | ConvertTo-Json -Depth 10 – jamiet
很高兴听到你明白了,我正要提出'Depth'参数,因为几个月前我有同样的问题。您应该将您的发现作为答案发布,并将其标记为解决问题的其他人的答案。 :) – Bluecakes