首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Powershell的ConvertFrom-Json解析JSON

用Powershell的ConvertFrom-Json解析JSON
EN

Stack Overflow用户
提问于 2018-05-15 06:56:56
回答 1查看 377关注 0票数 0

我试图使用Powershell的ConvertFrom-Json特性解析这个JSON,但它似乎截断了数据:

代码语言:javascript
复制
{
  "MessagesMonitoring": {
    "version": 1,
    "description": "Message Description"
  },
  "data": {
    "swindon": {
      "totalMessages": 0,
      "identifier": [
        {
          "name": "ET",
          "staleCount": 4
        },
        {
          "name": "ET_2",
          "staleCount": 4
        }
      ]
    },
    "Reading": {
      "totalMessages": 0,
      "identifier": [
        {
          "name": "J3",
          "staleCount": 2
        }
      ]
    },
    "Yanki": {
      "totalMessages": 0,
      "identifier": [
        {
          "name": "UT",
          "staleCount": 4
        },
        {
          "name": "UT_2",
          "staleCount": 4
        }
      ]
    }
  }
}

请求:

代码语言:javascript
复制
 $request = 'http://localhost:8000/hi.json'
 Invoke-WebRequest $request |
 ConvertFrom-Json |
 Select swindon

响应:

代码语言:javascript
复制
StatusCode        : 200                                                         StatusDescription : OK
Content           : {
                      "MessagesMonitoring": {
                        "version": 1,
                        "description": "Message Description"
                      },
                      "data": {
                        "swindon": {
                          "totalMessages": 0,
                          "identifier": [
                            {
                              "na...

不确定我可能做错了什么。任何关于如何将JSON解析成这种格式的建议/指南都会很棒。

代码语言:javascript
复制
swindon|identifier|ET|4
swindon|totalMessages|0
swindon|identifier|ET2|4

Reading|identifier|J3|2
Reading|totalMessages|0

Yanki|identifier|UT|4
Yanki|identifier|U_T|4
Yanki|totalMessages|0
EN

回答 1

Stack Overflow用户

发布于 2018-05-15 07:45:36

你错过了一个步骤。响应的Content元素包含JSON,因此这就是您需要提供给ConvertFrom-Json的内容

代码语言:javascript
复制
$request = 'http://localhost:8000/hi.json'
$resp = $(Invoke-WebRequest $request).Content | ConvertFrom-Json

然后,在JSON中有一个字典,其中的"data"键包含我认为您感兴趣的信息,使用以下语法访问它:

代码语言:javascript
复制
$resp.data

这应该会让你开始

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50340124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档