【问题标题】:JsonConvert.DeserializeObject for negative integer is zero Android负整数的 JsonConvert.DeserializeObject 为零 Android
【发布时间】:2017-05-16 13:43:52
【问题描述】:

我正在使用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

【问题讨论】:

  • 能否请您发布您的 json 和反序列化对象的原始输出?
  • 我已经编辑了帖子。

标签: android json deserialization json-deserialization


【解决方案1】:

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

            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 中

【讨论】:

    猜你喜欢
    • 2020-10-01
    • 1970-01-01
    • 2012-11-25
    • 2018-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多