2016-10-14 27 views
1

私はjsonに変換する配列を持っています。しかし、配列内の各オブジェクトを別のフィールドで囲む必要があります。フィールドの追加を追加JSON - PowerShell

$Array = 

Field1; Field2 
----------------- 
Value11; Value12 
Value21; Value22 

私はその配列をJSONに変換する場合、それは次のようになります。

Array 
[ 
    { 
     "Field1": "Value11", 
     "Field2": "Value12" 
    }, 
    { 
     "Field1": "Value21", 
     "Field2": "Value22" 
    } 
] 

私はそれが次のようになりたい:

Array 
[ 
    {"NewWrapper": 
     { 
     "Field1": "Value11", 
     "Field2": "Value12" 
     } 
    }, 
    {"NewWrapper": 
     { 
     "Field1": "Value21", 
     "Field2": "Value22" 
     } 
    } 
] 

どのように私は、ソースまたはフォーマットしないのいずれかそれを達成するためのjson?

答えて

1

は、以下を試してください

$Array | ForEach-Object { @{ NewWrapper=$_ } } | ConvertTo-Json 

@{ NewWrapper=$_ }NewWrapper、その唯一のエントリハッシュテーブル(@{ ... })の各入力オブジェクトをラップし、入力オブジェクト($_)です。

ConvertTo-Jsonがこのハッシュテーブルをシリアル化すると、目的の出力が生成されます。


コンプリート例:それは完璧に動作

# Create sample input objects... 
$Array = [pscustomobject] @{ Field1 = 'Value11'; Field2 = 'Value12' }, 
     [pscustomobject] @{ Field1 = 'Value21'; Field2 = 'Value12' } 
# ... wrap them, and convert them to JSON. 
$Array | ForEach-Object { @{ NewWrapper=$_ } } | ConvertTo-Json 
+1

感謝! –