我使用 Powershell 版本 3,并且我想通过 Rest 将 uri 上的数据作为对象获取。我使用了 CmdLedt Invoke-RestMehtod:
Invoke-RestMethod services.odata.org/OData/OData.svc/Advertisements?$format=json
我的输出是:
id : http://services.odata.org/OData/OData.svc/Advertisements(guid'f89dee73-a
f9f-4cd4-b330-db93c25ff3c7')
category : category
link : {link, link, link}
title :
updated : 2013-10-29T09:06:33Z
author : author
content : content
但我想要一个输出,其中 ID、名称、Airdate 是一个像这样的对象(2 个对象):
Id Name Airdate
-- ---- -------
f89dee73-af9f-4cd4-b330-db93c25ff3c7 Old School Lemonade Store, Retro Style 2012-11-07T00:00:00
db2d2186-1c29-4d1e-88ef-a127f521b9c6 Early morning start, need coffee 2000-02-29T00:00:00
有人可以解释我如何通过从返回 JSON 的 URI 中休息一个服装对象来使用 CmdLedt 吗?
后来我必须在 C# 代码中使用它来从 URI 中获取动态对象,并且它们的结构总是不同的。因此我需要这个 CmdLet,因为它通常会生成动态对象。到目前为止,在 C# 中我的代码:
var args = new string[] { "http://services.odata.org/OData/OData.svc/?$format=json" };
var command = string.Format("Invoke-RestMethod {0}", args[0]);
var results = InvokeCommand.InvokeScript(command);