2016-08-04 91 views
1

我想将包含字典结构的文件数据复制到PowerShell中。我贴的内容,现在我有一个变量叫$dns,这是它的内容:创建一个PowerShell的字典

{ 
    "ips": { 
       "10.20.30.40": [ 
             { 
              "rhost": "DNS Name1.", 
              "rdata": [ 
                 "10.20.30.40" 
                ], 
              "rrtype": "A (1)", 
              "ttl": 86400, 
              "geo": null, 
              "source": "DNSProvider1" 
             } 
            ], 
       "40.50.60.70": [ 
             { 
              "rhost": "DNS Name2.", 
              "rdata": [ 
                 "40.50.60.70" 
                ], 
              "rrtype": "A (1)", 
              "ttl": 86400, 
              "geo": null, 
              "source": "DNSProvider1" 
             } 
            ] 
      } 
} 

我想在其上运行一些操作,我应该把它转换为对象或其他什么东西?

只是为了澄清自己,当我使用这种Python中的对象,我可以使用这个对象是这样的:

dns['ips'] 

结果看起来是这样的:

{ 
'10.20.30.40': 
    [ 
     { 
      'geo': null, 
      'rdata': ['10.20.30.40'], 
      'rhost': 'DNS Name1.', 
      'rrtype': 'A (1)', 
      'source': 'DNSProvider1', 
      'ttl': 86400 
     } 
    ], 
'40.50.60.70': 
    [ 
     { 
      'geo': null, 
      'rdata': ['40.50.60.70'], 
      'rhost': 'DNS Name2.', 
      'rrtype': 'A (1)', 
      'source': 'DNSProvider1', 
      'ttl': 86400 
     } 
    ] 
} 

回答

1

您正在寻找cm3:

($dns | ConvertFrom-Json).ips 
+0

感谢马丁,但它看起来像PowerShell不会承认“:”。 我得到的错误是: ConvertFrom-Json:无效的对象传入,':'或'}'的预期。 (1):{ At line:1 char:9 +($ dns | ConvertFrom-Json).ips + ~~~~~~~~~~~~~~~~ + CategoryInfo:NotSpecified :(:) [ConvertFrom-Json],参数EXP ception + FullyQualifiedErrorId:System.ArgumentException,Microsoft.PowerShell.Co mmands.ConvertFromJsonCommand –

+0

这在你的json中工作正常。你如何检索'$ dns'? –

+0

$ dns = gc“c:\ path ....”。你是怎么做到的? –

1

您可能需要-raw开关...

$dns = gc C:\tmp\dns.json -Raw 
($dns | ConvertFrom-Json).ips 
相关问题