首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Convertfrom-json的正确用法

Convertfrom-json的正确用法
EN

Stack Overflow用户
提问于 2018-10-09 18:00:30
回答 1查看 77关注 0票数 1

我正在尝试利用从JSON格式的API中捕获的一些数据,但很难以任何真正有意义的方式来利用它。我不确定是数据没有达到预期,还是问题出在我处理它的方式上。

代码语言:javascript
复制
$result =  Invoke-WebRequest -Method Post -URI "http://vwhmcs.com/includes/api.php" -Body $Body

这是API调用,从这里我需要的数据是$result.content格式的,如下所示

代码语言:javascript
复制
{"result":"success","totalresults":2,"startnumber":0,"numreturned":2,"clients":{"client":[{"id":2,"firstname":"Edward","lastname":"Franks","companyname":"","email":"EdwardFranks@mail.com","datecreated":"2018-10-09","groupid":0,"status":"Inactive"},{"id":1,"firstname":"Frank","lastname":"Tighe","companyname":"U32 Consultation","email":"frank@u32.co.uk","datecreated":"2018-10-08","groupid":0,"status":"Active"}]}}

这是有效的JSON (我对其进行了验证)。为了让它变得可用,我正在做

代码语言:javascript
复制
$result = ($result.content | convertfrom-json)

从表面上看,这似乎是可行的

代码语言:javascript
复制
PS C:\WINDOWS\system32> $result


result       : success
otalresults : 2
startnumber  : 0
numreturned  : 2
clients      : @{client=System.Object[]}

但是,如果我尝试导航这些数据,我可以看到它没有被完全解析。

代码语言:javascript
复制
 PS C:\WINDOWS\system32> $result.clients | ft -AutoSize -Wrap

client                                                                                                                                                                                       
------                                                                                                                                                                                       
{@{id=2; firstname=Edward; lastname=Franks; companyname=; email=EdwardFranks@mail.com; datecreated=2018-10-09; groupid=0; status=Inactive}, @{id=1; firstname=Frank; lastname=Tighe;companyname=U32 Consultation; email=frank@u32.co.uk; datecreated=2018-10-08; groupid=0; status=Active}}  

现在我可以看到这些数据不是有效的JSON格式,但是如果您之前检查了数据,它是有效的。convertfrom-json函数删除了其中的语音标记,这向我表明数据是好的,但我调用这个函数是错误的。

有没有人能告诉我怎么做才对?

EN

回答 1

Stack Overflow用户

发布于 2018-10-09 22:50:36

看起来你需要的是

代码语言:javascript
复制
$TEST.clients.client | ft

JSON是

代码语言:javascript
复制
"clients":{
    "client":[
        {Client 1 Information Here},
        {Client 2 Information Here}

"clients“是哈希表{ with

”是一个数组客户端[ of

"{Client Information}“哈希表

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

https://stackoverflow.com/questions/52718275

复制
相关文章

相似问题

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