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                
#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                

使用 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." />

赞助商

Clarius Org Christian Findlay C. Augusto Proiete Kirill Osenkov MFB Technologies, Inc. SandRock Eric C Andy Gocke

赞助此项目  

了解更多关于GitHub赞助商的信息

此包中没有任何受支持的框架资源。

了解关于目标框架.NET Standard的更多信息。

本包没有依赖关系。

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仓库使用。

版本 下载 最后更新
1.2.0 32,300 11/28/2022
1.1.9 9,970 9/23/2022
1.1.8 365 9/23/2022
1.1.7 439 9/1/2022
1.1.6 636 8/5/2022
1.1.5 373 8/5/2022
1.1.0 1,560 2/3/2022
1.0.3 870 9/30/2021
1.0.2 313 9/15/2021