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