如何在Powershell v3中使用ConvertTo-json将DataTable转换为JSON

时间:2013-12-19 18:17:48

标签: json powershell

我有一个具有相同数据的DataTable $ dt,我想使用 Powershell v3

中的cmdlet ConvertTo-JSON 将数据传输到JSON
$ds.Tables["mytable"] | ConvertTo-Json

结果是返回了DataTable的所有属性,但我只需要数据表中的记录。

我想知道是否有办法在不查看每个列/行并将其添加到自定义对象中的情况下执行此操作。等等。

这是我在运行上述行时得到的结果;

[
    {
        "RowError":  "",
       "RowState":  2,
        "Table":  {
                  "CaseSensitive":  false,
                  "IsInitialized":  true,
                  "RemotingFormat":  0,
                  "ChildRelations":  "",
                  "Columns":  "Id Name IsActive",
                  "Constraints":  "",
                  "DataSet":  "System.Data.DataSet",
                  "DefaultView":  "System.Data.DataRowView System.Data.DataRowView",
                  "DisplayExpression":  "",
                  "ExtendedProperties":  "System.D.......

由于

亚西尔

http://www.sqlist.co.uk

2 个答案:

答案 0 :(得分:13)

在玩了一些样本数据后,我最终得到了这个:

($ds.Tables["mytable"] | select $ds.Tables["mytable"].Columns.ColumnName ) | ConvertTo-Json

答案 1 :(得分:0)

还可以使用“选择对象”排除属性,以消除噪音。

$dt | Select-Object * -ExcludeProperty ItemArray, Table, RowError, RowState, HasErrors | ConvertTo-Json