此命令:
ConvertTo-Json (ConvertFrom-Json '{ "abc": [ [1, 2, 3], 4, [5, 6, 7] ] }')
返回:
{ "abc": [ [ 1, 2, 3 ], 4, [ 5, 6, 7 ] ] }
但是,以下(更深层次的相同值):
ConvertTo-Json (ConvertFrom-Json '{ "abc": { "abc": [ [ 1, 2, 3 ], 4, [5, 6, 7] ] } }')
返回:
{ "abc": { "abc": [ "1 2 3", 4, "5 6 7" ] } }
这是一个错误吗?
理想情况下,我想找出传递给ConvertTo-Json
的PowerShell值,以便在第二个示例中生成JSON,即:
'{ "abc": { "abc": [ [ 1, 2, 3 ], 4, [5, 6, 7] ] } }'
我通常使用ConvertFrom-Json
来找出这些值。
答案 0 :(得分:4)
将-Depth 3
传递给ConvertTo-Json
可以解决问题:
ConvertTo-Json -Compress -Depth 3 (ConvertFrom-Json '{ "abc": { "abc": [ [ 1, 2, 3 ], 4, [5, 6, 7] ] } }')
产生
{"abc":{"abc":[[1,2,3],4,[5,6,7]]}}