如何在JSON文件中增加键值对

时间:2018-01-09 15:33:36

标签: json powershell

我有一个JSON文件,我需要增加一定的值。这是我的JSON文件结构。

{
    "Body": {
        "Content": {

        },
        "Lines": [{
            "LineNumber": "1",
            "DateOfService": "10/20/2017"

        },
        {
            "LineNumber": "1",
            "DateOfService": "10/20/2017"

        },
        {
            "LineNumber": "1",
            "DateOfService": "10/20/2017"

        }]
    }
}

我希望“LineNumber”值从1设置并随后递增1。我接近1000行。

感谢您的协助。

2 个答案:

答案 0 :(得分:0)

$InputFile = "path\name.json.txt"
$OutPutFile = "path\name.new.json"

$objJsonFile = Get-Content -Raw -Path $InputFile | ConvertFrom-Json

$intLine = 1

foreach ($itmLine in $objJsonFile.Claim.Lines)
{
    $itmLine.LineNumber = [string]$intLine++

}

$objJsonFile | ConvertTo-Json -Depth 3 | Out-File $OutPutFile 

答案 1 :(得分:-1)

您可以尝试使用以下代码执行此操作。

$fileContent = Get-Content PATH\TO\FILE.json;
$json = $fileContent | ConvertFrom-Json;

$counter = 1;
ForEach($line in $json.Body.Lines) {
    $line.LineNumber = $counter;
    $counter++;
}

# write json back to file!?