JsonPeek 1.2.0
dotnet add package JsonPeek --version 1.2.0
NuGet\Install-Package JsonPeek -Version 1.2.0
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用了 NuGet 模块的 Install-Package 版本。
<PackageReference Include="JsonPeek" Version="1.2.0" />
对于支持 PackageReference 的项目,将此 XML 节复制到项目文件中以引用包。
paket add JsonPeek --version 1.2.0
NuGet 团队不提供对此客户端的支持。请联系其 维护者 获取支持。
#r "nuget: JsonPeek, 1.2.0"
#r 指令可在 F# Interactive 和 Polyglot Notebooks 中使用。将其复制到交互式工具或脚本的源代码中,以引用包。
// Install JsonPeek as a Cake Addin #addin nuget:?package=JsonPeek&version=1.2.0 // Install JsonPeek as a Cake Tool #tool nuget:?package=JsonPeek&version=1.2.0
NuGet 团队不提供对此客户端的支持。请联系其 维护者 获取支持。
使用 JSONPath 从 JSON 读取值。
用法
<JsonPeek ContentPath="[JSON_FILE]" Query="[JSONPath]">
<Output TaskParameter="Result" PropertyName="Value" />
</JsonPeek>
<JsonPeek Content="[JSON]" Query="[JSONPath]">
<Output TaskParameter="Result" ItemName="Values" />
</JsonPeek>
参数
参数 | 描述 |
---|---|
内容 | 可选 string 参数,<br/>指定 JSON 输入作为字符串。 |
ContentPath | 可选 ITaskItem 参数,<br/>指定 JSON 输入作为文件路径。 |
空值 | 可选 string 参数,<br/>用于替换 JSON 中匹配到的空值的值。 |
查询 | 必需 string 参数,<br/>指定 JSONPath 表达式。 |
结果 | 输出 ITaskItem[] 参数,<br/>包含任务返回的结果。 |
您可以通过 ContentPath
提供JSON文件的路径,或者直接提供 Content
中的 JSON 内容。查询是一个 JSONPath 表达式,经过评估并通过 Result
任务参数返回。您可以将其结果分配给属性(即单个值)或项目名称(即多个结果)。
将结果值分配给项目时,JSON 对象属性将自动作为项目元数据处理。例如,考虑到以下 JSON
{
"http": {
"host": "localhost",
"port": 80,
"ssl": true
}
}
您可以这样读取整个 http
值,并将其作为项目,每个属性作为元数据值。
<JsonPeek ContentPath="host.json" Query="$.http">
<Output TaskParameter="Result" ItemName="Http" />
</JsonPeek>
Http
项目将具有以下值(如果它在 MSBuild 中声明)
<ItemGroup>
<Http Include="[item raw json]">
<host>localhost</host>
<port>80</port>
<ssl>true</ssl>
</Http>
</ItemGroup>
以下元数据值可以按以下方式读取为 MSBuild 属性,例如
<PropertyGroup>
<Host>@(Http -> '%(host)')</Host>
<Port>@(Http -> '%(port)')</Port>
<Ssl>@(Http -> '%(ssl)')</Ssl>
</PropertyGroup>
除了明确选择的对象属性外,整个节点都可通过特殊的 _
(单个下划线)元数据项作为原始 JSON 提供。
如果匹配的值是空的,则不会返回任何项(因为不能使用空的身份标识构造项)或属性值。这使得区分成功匹配的空值和根本没有匹配项变得困难。对于这些情况,可以指定一个Empty
值来代替空的(但成功匹配的)匹配结果,从而区分这两种场景
<JsonPeek Content="$(Json)" Empty="$empty" Query="$(Query)">
<Output TaskParameter="Result" PropertyName="Value" />
</JsonPeek>
<Error Condition="'$(Value)' == '$empty'" Text="The element $(Query) cannot have an empty value." />
赞助商
本包没有依赖关系。
NuGet包 (1)
显示依赖于JsonPeek的顶级1个NuGet包
包 | 下载 |
---|---|
Devlooped.Azure.Functions.OpenApi 基于https://github.com/devlooped/Azure.Functions.OpenApi/tree/027ade84f构建的C# Azure Functions OpenAPI/Swagger源生成器 |
GitHub仓库
此包未被任何流行的GitHub仓库使用。