2013-12-19 36 views
6

我有一個DataTable $ DT具有相同的數據,我想管在使用cmdlet的的ConvertTo-JSON數據以JSON Powershell的 V3如何DataTable中使用的ConvertTo-JSON轉換成JSON使用PowerShell v3的

$ds.Tables["mytable"] | ConvertTo-Json 

結果是返回DataTable的所有屬性,但我只需要在數據表中的記錄。

我想知道是否有辦法做到這一點,而不希望通過每列/行,然後添加到自定義object..etc。

這是我所得到的,當我運行上面的線;

[ 
    { 
     "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

+0

我用以下解決方案: http://mac-blog.org.ua/powershell-invoke-sqlcmd-convertto-json/ –

回答

11

與樣本數據表位打後,我結束了這一點:

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

完美,只是一個額外的) – Yasir

+0

哦,這是非常有益的。我寫我的數據,以JSON文件和它看起來像這樣: $ JSONFileNameFormat = 「C:\邵族\的nVision \ DATA \測試\ Json的\ {0} {1}以.json。」 $ JsonOutputFile = [字符串] ::格式($ JSONFileNameFormat,$($行[0]),$($行[1])) ($ DataSet_Table.Tables [0] |選擇$ DataSet_Table.Tables [0] .Columns.ColumnName)| ConvertTo-Json -Compress | Out-File $ JsonOutputFile – MsBugKiller

+0

我發現這裏的重要轉換是:'$ dt |選擇$ dt.Columns.ColumnName',這足以獲得具有必要屬性的PS對象數組。從那裏你可以迭代,或一次轉換 - 很好的答案! –

相關問題