JsonConvert.DeserializeObject 负整数为零 Android

JsonConvert.DeserializeObject for negative integer is zero Android

我正在使用 JsonConvert.DeserializeObject 将 Json 反序列化为一个对象。在 Json 中有 "PageNumber": -1 但是,在反序列化之后我总是得到 PageNumber = 0。我注意到所有负值都将转换为零。

有没有办法在反序列化后得到负整数?

Json:

{
  "Pages": [
    {
      "A": [
        {
          "B": [
            {
              "numberone": -1,
              "numbertwo": -1          
            },
            {
              "numberone": -1,
              "numbertwo": -1 
            }
          ]
        }
      ]
    }
  ]
}

反序列化后我检查了 list<B>:

numberone = 0 and numbertwo = 0

如果有人遇到同样的问题,我是这样解决的:

            var handleNegativeValues = new JsonSerializerSettings
            {
                FloatParseHandling = FloatParseHandling.Decimal
            };

            //Deserialize from json to class object
            MyClass myObject= JsonConvert.DeserializeObject<MyCLass>(await _mHttpResponseMessage.Content.ReadAsStringAsync(), handleNegativeValues);

这是在 C# Xamarin 中