cache nuget packages

This commit is contained in:
master
2025-11-17 20:46:40 +02:00
parent 833e68575a
commit d3128aec24
3344 changed files with 5325703 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
{
"version": 2,
"contentHash": "zjK7PodODLzga3/DZ/KpNgBnT2Hhz0pEtVL3U6wtjVbBeHu1vpu7RmaRuagbfXDzTQOD+6k8FmOBKm/GAOW5QQ==",
"source": "https://api.nuget.org/v3/index.json"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1,257 @@
## About
<!-- A description of the package and where one can find more documentation -->
Provides high-performance and low-allocating types that serialize objects to JavaScript Object Notation (JSON) text and deserialize JSON text to objects, with UTF-8 support built-in. Also provides types to read and write JSON text encoded as UTF-8, and to create an in-memory document object model (DOM), that is read-only, for random access of the JSON elements within a structured view of the data.
## Key Features
<!-- The key features of this package -->
* High-performance reader and writer types for UTF-8 encoded JSON.
* A fully-featured JSON serializer for .NET types using reflection or source generated contracts.
* A high-performance read-only JSON DOM (JsonDocument) and a mutable DOM that interoperates with the serializer (JsonNode).
* Built-in support for async serialization, including IAsyncEnumerable support.
* Fully customizable contract model for serializable types.
## How to Use
<!-- A compelling example on how to use this package with code, as well as any specific guidelines for when to use the package -->
The System.Text.Json library is built-in as part of the shared framework in .NET Runtime. The package can be installed when you need to use the most recent version in older target frameworks.
Serialization:
```csharp
using System;
using System.Text.Json;
WeatherForecast forecast = new (DateTimeOffset.Now, 26.6f, "Sunny");
var serialized = JsonSerializer.Serialize(forecast);
Console.WriteLine(serialized);
// {"Date":"2023-08-02T16:01:20.9025406+00:00","TemperatureCelsius":26.6,"Summary":"Sunny"}
var forecastDeserialized = JsonSerializer.Deserialize<WeatherForecast>(serialized);
Console.WriteLine(forecast == forecastDeserialized);
// True
public record WeatherForecast(DateTimeOffset Date, float TemperatureCelsius, string? Summary);
```
Serialization using the source generator:
```csharp
using System.Text.Json;
using System.Text.Json.Serialization;
WeatherForecast forecast = new (DateTimeOffset.Now, 26.6f, "Sunny");
var serialized = JsonSerializer.Serialize(forecast, SourceGenerationContext.Default.WeatherForecast);
Console.WriteLine(serialized);
// {"Date":"2023-08-02T16:01:20.9025406+00:00","TemperatureCelsius":26.6,"Summary":"Sunny"}
var forecastDeserialized = JsonSerializer.Deserialize<WeatherForecast>(serialized, SourceGenerationContext.Default.WeatherForecast);
Console.WriteLine(forecast == forecastDeserialized);
// True
public record WeatherForecast(DateTimeOffset Date, float TemperatureCelsius, string? Summary);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(WeatherForecast))]
internal partial class SourceGenerationContext : JsonSerializerContext
{
}
```
Using the JSON DOM:
```csharp
using System;
using System.Text.Json;
using System.Text.Json.Nodes;
string jsonString =
@"{
""Date"": ""2019-08-01T00:00:00"",
""Temperature"": 25,
""Summary"": ""Hot"",
""DatesAvailable"": [
""2019-08-01T00:00:00"",
""2019-08-02T00:00:00""
],
""TemperatureRanges"": {
""Cold"": {
""High"": 20,
""Low"": -10
},
""Hot"": {
""High"": 60,
""Low"": 20
}
}
}
";
JsonNode forecastNode = JsonNode.Parse(jsonString)!;
// Get value from a JsonNode.
JsonNode temperatureNode = forecastNode["Temperature"]!;
Console.WriteLine($"Type={temperatureNode.GetType()}");
Console.WriteLine($"JSON={temperatureNode.ToJsonString()}");
//output:
//Type = System.Text.Json.Nodes.JsonValue`1[System.Text.Json.JsonElement]
//JSON = 25
// Get a typed value from a JsonNode.
int temperatureInt = (int)forecastNode["Temperature"]!;
Console.WriteLine($"Value={temperatureInt}");
//output:
//Value=25
// Get a typed value from a JsonNode by using GetValue<T>.
temperatureInt = forecastNode["Temperature"]!.GetValue<int>();
Console.WriteLine($"TemperatureInt={temperatureInt}");
//output:
//Value=25
// Get a JSON object from a JsonNode.
JsonNode temperatureRanges = forecastNode["TemperatureRanges"]!;
Console.WriteLine($"Type={temperatureRanges.GetType()}");
Console.WriteLine($"JSON={temperatureRanges.ToJsonString()}");
//output:
//Type = System.Text.Json.Nodes.JsonObject
//JSON = { "Cold":{ "High":20,"Low":-10},"Hot":{ "High":60,"Low":20} }
// Get a JSON array from a JsonNode.
JsonNode datesAvailable = forecastNode["DatesAvailable"]!;
Console.WriteLine($"Type={datesAvailable.GetType()}");
Console.WriteLine($"JSON={datesAvailable.ToJsonString()}");
//output:
//datesAvailable Type = System.Text.Json.Nodes.JsonArray
//datesAvailable JSON =["2019-08-01T00:00:00", "2019-08-02T00:00:00"]
// Get an array element value from a JsonArray.
JsonNode firstDateAvailable = datesAvailable[0]!;
Console.WriteLine($"Type={firstDateAvailable.GetType()}");
Console.WriteLine($"JSON={firstDateAvailable.ToJsonString()}");
//output:
//Type = System.Text.Json.Nodes.JsonValue`1[System.Text.Json.JsonElement]
//JSON = "2019-08-01T00:00:00"
// Get a typed value by chaining references.
int coldHighTemperature = (int)forecastNode["TemperatureRanges"]!["Cold"]!["High"]!;
Console.WriteLine($"TemperatureRanges.Cold.High={coldHighTemperature}");
//output:
//TemperatureRanges.Cold.High = 20
// Parse a JSON array
JsonNode datesNode = JsonNode.Parse(@"[""2019-08-01T00:00:00"",""2019-08-02T00:00:00""]")!;
JsonNode firstDate = datesNode[0]!.GetValue<DateTime>();
Console.WriteLine($"firstDate={ firstDate}");
//output:
//firstDate = "2019-08-01T00:00:00"
```
Using the low-level JSON reader/writer types
```csharp
using System;
using System.IO;
using System.Text;
using System.Text.Json;
var writerOptions = new JsonWriterOptions
{
Indented = true
};
using var stream = new MemoryStream();
using var writer = new Utf8JsonWriter(stream, writerOptions);
writer.WriteStartObject();
writer.WriteString("date", DateTimeOffset.Parse("8/2/2023 9:00 AM"));
writer.WriteNumber("temp", 42);
writer.WriteEndObject();
writer.Flush();
var jsonBytes = stream.ToArray();
string json = Encoding.UTF8.GetString(jsonBytes);
Console.WriteLine(json);
// {
// "date": "2023-08-02T09:00:00+00:00"
// "temp": 42
// }
var readerOptions = new JsonReaderOptions
{
AllowTrailingCommas = true,
CommentHandling = JsonCommentHandling.Skip
};
var reader = new Utf8JsonReader(jsonBytes, readerOptions);
while (reader.Read())
{
Console.Write(reader.TokenType);
switch (reader.TokenType)
{
case JsonTokenType.PropertyName:
case JsonTokenType.String:
{
string? text = reader.GetString();
Console.Write(" ");
Console.Write(text);
break;
}
case JsonTokenType.Number:
{
int intValue = reader.GetInt32();
Console.Write(" ");
Console.Write(intValue);
break;
}
// Other token types elided for brevity
}
Console.WriteLine();
}
// StartObject
// PropertyName date
// String 2023-08-02T09:00:00+00:00
// PropertyName temp
// Number 42
// EndObject
```
## Main Types
<!-- The main types provided in this library -->
The main types provided by this library are:
* `System.Text.Json.Utf8JsonWriter`
* `System.Text.Json.Utf8JsonReader`
* `System.Text.Json.JsonSerializer`
* `System.Text.Json.JsonConverter`
* `System.Text.Json.JsonDocument`
* `System.Text.Json.Nodes.JsonNode`
* `System.Text.Json.Serialization.Metadata.JsonTypeInfo`
## Additional Documentation
* [Conceptual documentation](https://learn.microsoft.com/dotnet/standard/serialization/system-text-json/overview)
* [API documentation](https://learn.microsoft.com/dotnet/api/system.text.json)
## Related Packages
<!-- The related packages associated with this package -->
* Lightweight data formats abstraction: [System.Memory.Data](https://www.nuget.org/packages/System.Memory.Data/)
* Serialization of HttpContent: [System.Net.Http.Json](https://www.nuget.org/packages/System.Net.Http.Json/)
## Feedback & Contributing
<!-- How to provide feedback on this package and contribute to it -->
System.Text.Json is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime).

View File

@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata>
<id>System.Text.Json</id>
<version>10.0.0-preview.7.25380.108</version>
<authors>Microsoft</authors>
<license type="expression">MIT</license>
<licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
<icon>Icon.png</icon>
<readme>PACKAGE.md</readme>
<projectUrl>https://dot.net/</projectUrl>
<description>Provides high-performance and low-allocating types that serialize objects to JavaScript Object Notation (JSON) text and deserialize JSON text to objects, with UTF-8 support built-in. Also provides types to read and write JSON text encoded as UTF-8, and to create an in-memory document object model (DOM), that is read-only, for random access of the JSON elements within a structured view of the data.
The System.Text.Json library is built-in as part of the shared framework in .NET Runtime. The package can be installed when you need to use it in other target frameworks.</description>
<releaseNotes>https://go.microsoft.com/fwlink/?LinkID=799421</releaseNotes>
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
<serviceable>true</serviceable>
<repository type="git" url="https://github.com/dotnet/dotnet" commit="30000d883e06c122311a66894579bc12329a09d4" />
<dependencies>
<group targetFramework=".NETFramework4.6.2">
<dependency id="Microsoft.Bcl.AsyncInterfaces" version="10.0.0-preview.7.25380.108" exclude="Build,Analyzers" />
<dependency id="System.IO.Pipelines" version="10.0.0-preview.7.25380.108" exclude="Build,Analyzers" />
<dependency id="System.Text.Encodings.Web" version="10.0.0-preview.7.25380.108" exclude="Build,Analyzers" />
<dependency id="System.Buffers" version="4.6.1" exclude="Build,Analyzers" />
<dependency id="System.Memory" version="4.6.3" exclude="Build,Analyzers" />
<dependency id="System.Runtime.CompilerServices.Unsafe" version="6.1.2" exclude="Build,Analyzers" />
<dependency id="System.Threading.Tasks.Extensions" version="4.6.3" exclude="Build,Analyzers" />
<dependency id="System.ValueTuple" version="4.6.1" exclude="Build,Analyzers" />
</group>
<group targetFramework="net8.0">
<dependency id="System.IO.Pipelines" version="10.0.0-preview.7.25380.108" exclude="Build,Analyzers" />
<dependency id="System.Text.Encodings.Web" version="10.0.0-preview.7.25380.108" exclude="Build,Analyzers" />
</group>
<group targetFramework="net9.0">
<dependency id="System.IO.Pipelines" version="10.0.0-preview.7.25380.108" exclude="Build,Analyzers" />
<dependency id="System.Text.Encodings.Web" version="10.0.0-preview.7.25380.108" exclude="Build,Analyzers" />
</group>
<group targetFramework="net10.0" />
<group targetFramework=".NETStandard2.0">
<dependency id="Microsoft.Bcl.AsyncInterfaces" version="10.0.0-preview.7.25380.108" exclude="Build,Analyzers" />
<dependency id="System.IO.Pipelines" version="10.0.0-preview.7.25380.108" exclude="Build,Analyzers" />
<dependency id="System.Text.Encodings.Web" version="10.0.0-preview.7.25380.108" exclude="Build,Analyzers" />
<dependency id="System.Buffers" version="4.6.1" exclude="Build,Analyzers" />
<dependency id="System.Memory" version="4.6.3" exclude="Build,Analyzers" />
<dependency id="System.Runtime.CompilerServices.Unsafe" version="6.1.2" exclude="Build,Analyzers" />
<dependency id="System.Threading.Tasks.Extensions" version="4.6.3" exclude="Build,Analyzers" />
</group>
</dependencies>
</metadata>
</package>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,6 @@
<Project InitialTargets="NETStandardCompatError_System_Text_Json_net462">
<Target Name="NETStandardCompatError_System_Text_Json_net462"
Condition="'$(SuppressTfmSupportBuildWarnings)' == ''">
<Warning Text="System.Text.Json 10.0.0-preview.7.25380.108 doesn't support $(TargetFramework) and has not been tested with it. Consider upgrading your TargetFramework to net462 or later. You may also set &lt;SuppressTfmSupportBuildWarnings&gt;true&lt;/SuppressTfmSupportBuildWarnings&gt; in the project file to ignore this warning and attempt to run in this unsupported configuration at your own risk." />
</Target>
</Project>

View File

@@ -0,0 +1,31 @@
<Project>
<Target Name="_System_Text_JsonGatherAnalyzers">
<ItemGroup>
<_System_Text_JsonAnalyzer Include="@(Analyzer)" Condition="'%(Analyzer.NuGetPackageId)' == 'System.Text.Json'" />
</ItemGroup>
</Target>
<Target Name="_System_Text_JsonAnalyzerMultiTargeting"
Condition="'$(SupportsRoslynComponentVersioning)' != 'true'"
AfterTargets="ResolvePackageDependenciesForBuild;ResolveNuGetPackageAssets"
DependsOnTargets="_System_Text_JsonGatherAnalyzers">
<ItemGroup>
<!-- Remove our analyzers targeting roslyn4.x -->
<Analyzer Remove="@(_System_Text_JsonAnalyzer)"
Condition="$([System.String]::Copy('%(_System_Text_JsonAnalyzer.Identity)').IndexOf('roslyn4')) &gt;= 0"/>
</ItemGroup>
</Target>
<Target Name="_System_Text_JsonRemoveAnalyzers"
Condition="'$(DisableSystemTextJsonSourceGenerator)' == 'true'"
AfterTargets="ResolvePackageDependenciesForBuild;ResolveNuGetPackageAssets"
DependsOnTargets="_System_Text_JsonGatherAnalyzers">
<!-- Remove all our analyzers -->
<ItemGroup>
<Analyzer Remove="@(_System_Text_JsonAnalyzer)" />
</ItemGroup>
</Target>
</Project>

View File

@@ -0,0 +1,31 @@
<Project>
<Target Name="_System_Text_JsonGatherAnalyzers">
<ItemGroup>
<_System_Text_JsonAnalyzer Include="@(Analyzer)" Condition="'%(Analyzer.NuGetPackageId)' == 'System.Text.Json'" />
</ItemGroup>
</Target>
<Target Name="_System_Text_JsonAnalyzerMultiTargeting"
Condition="'$(SupportsRoslynComponentVersioning)' != 'true'"
AfterTargets="ResolvePackageDependenciesForBuild;ResolveNuGetPackageAssets"
DependsOnTargets="_System_Text_JsonGatherAnalyzers">
<ItemGroup>
<!-- Remove our analyzers targeting roslyn4.x -->
<Analyzer Remove="@(_System_Text_JsonAnalyzer)"
Condition="$([System.String]::Copy('%(_System_Text_JsonAnalyzer.Identity)').IndexOf('roslyn4')) &gt;= 0"/>
</ItemGroup>
</Target>
<Target Name="_System_Text_JsonRemoveAnalyzers"
Condition="'$(DisableSystemTextJsonSourceGenerator)' == 'true'"
AfterTargets="ResolvePackageDependenciesForBuild;ResolveNuGetPackageAssets"
DependsOnTargets="_System_Text_JsonGatherAnalyzers">
<!-- Remove all our analyzers -->
<ItemGroup>
<Analyzer Remove="@(_System_Text_JsonAnalyzer)" />
</ItemGroup>
</Target>
</Project>

View File

@@ -0,0 +1,6 @@
<Project InitialTargets="NETStandardCompatError_System_Text_Json_net8_0">
<Target Name="NETStandardCompatError_System_Text_Json_net8_0"
Condition="'$(SuppressTfmSupportBuildWarnings)' == ''">
<Warning Text="System.Text.Json 10.0.0-preview.7.25380.108 doesn't support $(TargetFramework) and has not been tested with it. Consider upgrading your TargetFramework to net8.0 or later. You may also set &lt;SuppressTfmSupportBuildWarnings&gt;true&lt;/SuppressTfmSupportBuildWarnings&gt; in the project file to ignore this warning and attempt to run in this unsupported configuration at your own risk." />
</Target>
</Project>

View File

@@ -0,0 +1,31 @@
<Project>
<Target Name="_System_Text_JsonGatherAnalyzers">
<ItemGroup>
<_System_Text_JsonAnalyzer Include="@(Analyzer)" Condition="'%(Analyzer.NuGetPackageId)' == 'System.Text.Json'" />
</ItemGroup>
</Target>
<Target Name="_System_Text_JsonAnalyzerMultiTargeting"
Condition="'$(SupportsRoslynComponentVersioning)' != 'true'"
AfterTargets="ResolvePackageDependenciesForBuild;ResolveNuGetPackageAssets"
DependsOnTargets="_System_Text_JsonGatherAnalyzers">
<ItemGroup>
<!-- Remove our analyzers targeting roslyn4.x -->
<Analyzer Remove="@(_System_Text_JsonAnalyzer)"
Condition="$([System.String]::Copy('%(_System_Text_JsonAnalyzer.Identity)').IndexOf('roslyn4')) &gt;= 0"/>
</ItemGroup>
</Target>
<Target Name="_System_Text_JsonRemoveAnalyzers"
Condition="'$(DisableSystemTextJsonSourceGenerator)' == 'true'"
AfterTargets="ResolvePackageDependenciesForBuild;ResolveNuGetPackageAssets"
DependsOnTargets="_System_Text_JsonGatherAnalyzers">
<!-- Remove all our analyzers -->
<ItemGroup>
<Analyzer Remove="@(_System_Text_JsonAnalyzer)" />
</ItemGroup>
</Target>
</Project>

View File

@@ -0,0 +1 @@
leimx3MAx1RncXnnu8YFQnT7efP3nFy3d+GEPp3H4zNqMI8SNwM8Nsns3aRakf+N2tfm2Jq3Bx2refYOdyHzcQ==