首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ConvertTo-Json不会将哈希表的数组转换为JSON

ConvertTo-Json不会将哈希表的数组转换为JSON
EN

Stack Overflow用户
提问于 2015-11-05 06:02:28
回答 1查看 572关注 0票数 2

我已经干了一个小时了,还是搞不清楚。下面的代码构建一个哈希表数组,将该数组与其他一组键值对一起添加到另一个哈希表中,然后将整个批次转换为JSON:

代码语言:javascript
复制
$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

下面是输出:

代码语言:javascript
复制
{
    "tables":  [
                   {
                       "TableName":  "CHANNEL_DIM_H",
                       "UniqueColumn":  "channel_id",
                       "Columns":  "System.Collections.Hashtable System.Collections.Hashtable System.Collections.Hashtable"
                   }
               ]
}

请注意,"Columns“数组中的hastables返回如下:

代码语言:javascript
复制
"System.Collections.Hashtable System.Collections.Hashtable System.Collections.Hashtable"

这些哈希表中的数据没有出现在我的JSON文档中。为什么不行?

EN

回答 1

Stack Overflow用户

发布于 2015-11-05 06:19:04

我想通了。对ConvertTo-Json的调用需要深度指定

代码语言:javascript
复制
$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 = @{"tables"=$tables}
#$sqoopOracleTableAndColumnMetadata.Add("tables",$tables)

$sqoopOracleTableAndColumnMetadata | ConvertTo-Json -Depth 4
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33532915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档