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