Microsoft.Azure.Core.NewtonsoftJson 2.0.0

前缀已保留
dotnet add package Microsoft.Azure.Core.NewtonsoftJson --version 2.0.0                
NuGet\Install-Package Microsoft.Azure.Core.NewtonsoftJson -Version 2.0.0                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="Microsoft.Azure.Core.NewtonsoftJson" Version="2.0.0" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用包。
paket add Microsoft.Azure.Core.NewtonsoftJson --version 2.0.0                
#r "nuget: Microsoft.Azure.Core.NewtonsoftJson, 2.0.0"                
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将其复制到交互式工具或脚本的源代码中,以引用包。
// Install Microsoft.Azure.Core.NewtonsoftJson as a Cake Addin
#addin nuget:?package=Microsoft.Azure.Core.NewtonsoftJson&version=2.0.0

// Install Microsoft.Azure.Core.NewtonsoftJson as a Cake Tool
#tool nuget:?package=Microsoft.Azure.Core.NewtonsoftJson&version=2.0.0                

Newtonsoft.Json 支持针对 .NET 的 Azure Core 共享客户端库

Azure.Core 包 包含由最新 Azure SDK 客户端库共享的类型。此 Newtonsoft.Json 兼容库

入门指南

安装包

使用 .NET CLI 从 NuGet 安装此包

dotnet add package Microsoft.Azure.Core.NewtonsoftJson

关键概念

本支持包包含 NewtonsoftJsonObjectSerializer 类,可以将该类传递给一些 Azure SDKs 的客户端选项类,如下面的示例所示。

如果您未传递自己的 JsonSerializerSettings,以下转换器将自动添加到 NewtonsoftJsonObjectSerializer 中。

  • NewtonsoftJsonETagConverter 用于转换 Azure.ETag 属性。

请参阅下面的示例 使用默认转换器,以获得具有此默认列表的 JsonSerializerSettings 实例,然后您可以按需修改。

示例

以下示例使用了 Azure.Search.Documents 包 来演示如何反序列化搜索结果。有关更多信息和使用 Azure.Search.Documents 的示例,请参阅其 README

反序列化模型

考虑一个包含关于电影信息的自定义模型类。

public class Movie
{
    [JsonProperty("uuid")]
    public string Id { get; private set; } = Guid.NewGuid().ToString();

    public string Title { get; set; }

    public string Description { get; set; }

    public float Rating { get; set; }
}

我们的 Azure Cognitive Search 索引使用 camelCase 字段定义,而 Id 字段实际上定义为 "uuid";但是,我们可以设置 JsonSerializerSettings.ContractResolver 属性,如下所示,以提供一个符合习惯的模型,而无需为所有属性添加属性

// Get the Azure Cognitive Search endpoint and read-only API key.
Uri endpoint = new Uri(Environment.GetEnvironmentVariable("SEARCH_ENDPOINT"));
AzureKeyCredential credential = new AzureKeyCredential(Environment.GetEnvironmentVariable("SEARCH_API_KEY"));

// Create serializer options with default converters for Azure SDKs.
JsonSerializerSettings serializerSettings = NewtonsoftJsonObjectSerializer.CreateJsonSerializerSettings();

// Serialize property names using camelCase by default.
serializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();

SearchClientOptions clientOptions = new SearchClientOptions
{
    Serializer = new NewtonsoftJsonObjectSerializer(serializerSettings)
};

SearchClient client = new SearchClient(endpoint, "movies", credential, clientOptions);
Response<SearchResults<Movie>> results = client.Search<Movie>("Return of the King");

foreach (SearchResult<Movie> result in results.Value.GetResults())
{
    Movie movie = result.Document;

    Console.WriteLine(movie.Title);
    Console.WriteLine(movie.Description);
    Console.WriteLine($"Rating: {movie.Rating}\n");
}

在搜索大量电影索引时,可能会打印以下内容

The Lord of the Rings: The Return of the King
Gandalf and Aragorn lead the World of Men against Sauron's army to draw his gaze from Frodo and Sam as they approach Mount Doom with the One Ring.
Rating: 9.1

使用默认转换器

如果您使用默认构造函数实例化 NewtonsoftJsonObjectSerializer,则会自动添加像上面在 关键概念 中列出的常见 Azure SDKs 转换器。要修改这些默认设置,您可以根据以下示例创建一个新的 JsonSerializerSettings

JsonSerializerSettings serializerSettings = NewtonsoftJsonObjectSerializer.CreateJsonSerializerSettings();

// Serialize property names using camelCase by default.
serializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();

// Add converters as needed, for example, to convert movie genres to an enum.
serializerSettings.Converters.Add(new StringEnumConverter());

SearchClientOptions clientOptions = new SearchClientOptions
{
    Serializer = new NewtonsoftJsonObjectSerializer(serializerSettings)
};

您可以添加或删除转换器,设置 ContractResolverJsonSerializerSettings 的其他任何成员。

贡献

本项目欢迎贡献和建议。大多数贡献都需要您同意一份贡献许可协议 (CLA),申明您有权并且确实授予我们使用您的贡献的权利。有关详细信息,请访问 https://cla.microsoft.com

当您提交拉取请求时,一个 CLA-bot 将自动确定您是否需要提供 CLA,并相应地装饰 PR(例如,标记、注释)。只需遵循 bot 提供的说明。您只需在每个使用我们的 CLA 的仓库中做一次。

本项目采用了 Microsoft 开放源代码行为准则。有关更多信息,请参阅 行为准则常见问题解答 或通过 [email protected] 联系我们,有任何额外的问题或评论。

产品 兼容和附加的计算目标框架版本。
.NET net5.0 已计算。 net5.0-windows 已计算。 net6.0 已计算。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。
.NET Core netcoreapp2.0 兼容。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。
.NET Standard netstandard2.0 兼容。 netstandard2.1 已计算。
.NET Framework net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。
MonoAndroid monoandroid 已计算。
MonoMac monomac 已计算。
MonoTouch monotouch 已计算。
Tizen tizen40 已计算。 tizen60 已计算。
Xamarin.iOS xamarinios 已计算。
Xamarin.Mac xamarinmac 已计算。
Xamarin.TVOS xamarintvos 已计算。
Xamarin.WatchOS xamarinwatchos 已计算。
兼容的目标框架
包含的目标框架(在包中)
有关目标框架的更多信息.NET Standard,请参阅。

NuGet 包 (5)

显示依赖 Microsoft.Azure.Core.NewtonsoftJson 的前 5 个 NuGet 包

下载
Microsoft.Azure.SignalR.Management

通过 Azure SignalR 服务直接提供与 ASP.NET Core SignalR 客户端通信的能力。功能包括向所有/客户端/用户/组发送消息和管理组成员资格。更多信息请参阅https://github.com/Azure/azure-signalr/blob/dev/docs/management-sdk-guide.md

Microsoft.Azure.Functions.Worker.Extensions.OpenApi

此包通过进程外工作进程帮助渲染 Azure Functions 端点的 OpenAPI 文档和 Swagger UI。

Dan.Common

本包包含用于在 Dan.Core 与各种 Dan 插件之间通信,以及简化插件开发的常用模型和实用工具。

FakeHttpRequestData

一个包含HttpRequestData假实现(用于单元测试)的库。

lgp1985.Azure.Functions.Worker.Extensions.OpenApi

此包通过进程外工作进程帮助渲染 Azure Functions 端点的 OpenAPI 文档和 Swagger UI。

GitHub 仓库 (4)

显示依赖 Microsoft.Azure.Core.NewtonsoftJson 的前 4 个最受欢迎的 GitHub 仓库。

仓库 星标
Azure/azure-sdk-for-net
该仓库用于 .NET Azure SDK 的积极开发。对于 SDK 的消费者,我们建议访问我们的公共开发者文档 https://learn.microsoft.com/dotnet/azure/ ,或我们的版本化开发者文档 https://azure.github.io/azure-sdk-for-net/。
Azure/azure-signalr
.NET Azure SignalR 服务 SDK
Azure/azure-functions-dotnet-worker
Azure Functions 进程外 .NET 语言工作进程
Azure/azure-functions-openapi-extension
此扩展为 Azure Functions 应用提供了 Open API 功能,以更好地供消费者发现。
版本 下载 最后更新
2.0.0 444,133 12/14/2023
1.0.0 8,657,122 1/8/2021
1.0.0-preview.1 1,868 8/7/2020