From 1fbaf989e11736976752e5b9fadbb656d7f6e942 Mon Sep 17 00:00:00 2001 From: Havret Date: Thu, 20 Nov 2025 22:54:07 +0100 Subject: [PATCH 1/2] Fix type of uint_64_property from uint32 to uint64 in simple_message.proto --- .../Protobuf.System.Text.Json.Tests/Protos/simple_message.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Protobuf.System.Text.Json.Tests/Protos/simple_message.proto b/test/Protobuf.System.Text.Json.Tests/Protos/simple_message.proto index 2805a7e..78fc39a 100644 --- a/test/Protobuf.System.Text.Json.Tests/Protos/simple_message.proto +++ b/test/Protobuf.System.Text.Json.Tests/Protos/simple_message.proto @@ -13,7 +13,7 @@ message SimpleMessage { uint32 uint_32_property = 5; - uint32 uint_64_property = 6; + uint64 uint_64_property = 6; sint32 sint_32_property = 7; From 82e8f7b032bcc47592319caef69632ce343e6f01 Mon Sep 17 00:00:00 2001 From: Havret Date: Thu, 20 Nov 2025 22:57:56 +0100 Subject: [PATCH 2/2] Fix number type conversion to use invariant culture in FieldConverter --- .../InternalConverters/FieldConverter.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Protobuf.System.Text.Json/InternalConverters/FieldConverter.cs b/src/Protobuf.System.Text.Json/InternalConverters/FieldConverter.cs index 8ded5c2..e8632e1 100644 --- a/src/Protobuf.System.Text.Json/InternalConverters/FieldConverter.cs +++ b/src/Protobuf.System.Text.Json/InternalConverters/FieldConverter.cs @@ -1,5 +1,6 @@ using System.Buffers; using System.Diagnostics; +using System.Globalization; using System.Text.Json; using System.Text.Json.Serialization; using Google.Protobuf; @@ -37,7 +38,7 @@ public override void Read(ref Utf8JsonReader reader, IMessage obj, Type typeToCo if (_isConverterForNumberType && reader.TokenType == JsonTokenType.String && (JsonNumberHandling.AllowReadingFromString & options.NumberHandling) != 0) { - var value = Convert.ChangeType(reader.GetString(), typeToConvert); + var value = Convert.ChangeType(reader.GetString(), typeToConvert, CultureInfo.InvariantCulture); fieldAccessor.SetValue(obj, value); } else