2016-08-23 5 views
0

Я знаю, что это очень просто с помощью powershell 3.0. Увы, я использую v2 сейчас.Получите значение json с помощью powershell 2.0

Так, скажем, у меня есть файл в формате JSON (config.json), который выглядит следующим образом:

{ 
    "environment": "dev", 
    "SomeKey": "SomethingElse", 
    "AnotherKey": "More Here", 
    "stuff": { 
     "More": "Stuff Here" 
    }, 
    // More stuff here 
} 

Есть ли способ я могу получить значение «другойКлюч» с помощью PowerShell (v2.0) ?

Update:
Это, вероятно, можно сказать, что в этом случае "AnotherKey": не будет появляться в файле в любом другом месте.

+1

Возможно, вы захотите проверить ответ здесь http://stackoverflow.com/questions/28077854/powershell-2-0-convertfrom-json-and-convertto-json-implementation –

ответ

2

Испытано по ссылке я дал в комментарии:

function ConvertFrom-Json20([object] $item){ 
    add-type -assembly system.web.extensions 
    $ps_js=new-object system.web.script.serialization.javascriptSerializer 

    #The comma operator is the array construction operator in PowerShell 
    return ,$ps_js.DeserializeObject($item) 
} 

$json = @" 
{ 
    "environment": "dev", 
    "SomeKey": "SomethingElse", 
    "AnotherKey": "More Here", 
    "stuff": { 
     "More": "Stuff Here" 
    }  
} 
"@ 

$a = ConvertFrom-Json20 $json 

Результат является:

$a.AnotherKey 
More Here 

Примечание я должен был редактировать вам JSon пример (лишняя запятая + Убрана закомментирована код)

Смежные вопросы