2016-03-08 9 views
12

का उपयोग कर रहा तरह नीचे मैं का उपयोग कर powershell scriptकैसे मैं powershell

update.json

{ 
    "update": [ 
     { 
      "Name": "test1",   
      "Version": "2.1" 
     }, 
     { 
      "Name": "test2",   
      "Version": "2.1" 
     } 
    ] 
} 

मूल्यों को अपडेट करना चाहते एक json फ़ाइल mytest.json है मैं एक powershell स्क्रिप्ट लिखने के लिए चाहते हैं json फ़ाइल अद्यतन करते हैं जहां if Name=="test1" I want to update Version= "3" पैरामीटर का उपयोग करके मैं इसे कैसे कर सकता हूं?

उत्तर

23

यहाँ एक तरीका है:

$a = Get-Content 'D:\temp\mytest.json' -raw | ConvertFrom-Json 
$a.update | % {if($_.name -eq 'test1'){$_.version=3.0}} 
$a | ConvertTo-Json | set-content 'D:\temp\mytestBis.json' 
+0

सुपर तेजी से काम करता है बहुत धन्यवाद @JPBlanc – Neo

+15

Be बर्तन ConvertTo-Json' 2. दीप json की डिफ़ॉल्ट गहराई है कि '' मिल जाएगा ToString''d जो शायद है आप क्या चाहते हैं नहीं। यदि आपके पास अधिक नेस्टेड जेसन है, तो 'गहराई' पैरामीटर का उपयोग करें: 'कन्वर्टटो-जेसन-डेपथ 20' – FLGMwt