Private/JsonHelper.ps1

function Set-JsonValue(
    [PSCustomObject] $json,
    [string] $name,
    [PSCustomObject] $value
)
{
    if($json.$name)
    {
        $json.$name = $value;
    }
    else
    {
        # If the json is empty
        if(!$json){
            $json = '{}'
            $json = ConvertFrom-Json $json
        }
          
        $json |  Add-Member -Type NoteProperty -Name $name -Value $value -Force
    }

    return $json
}

function Get-WaykNowDenOauthJson(
    [string]$WaykDenPath
){
    $oauthPath = "$WaykDenPath/oauth.cfg"
    $oauthJson = ''
    if(Test-Path $oauthPath){
        $oauthJson = Get-Content -Raw -Path $oauthPath | ConvertFrom-Json
    }else{
        Add-PathIfNotExist $oauthPath $false
        $oauthJson = Get-Content -Raw -Path $oauthPath | ConvertFrom-Json
    }

    return $oauthJson
}