将Json.Net JValue转换为int

时间:2015-05-22 09:26:56

标签: c# json.net

我试过了:

JValue myJValue = getJValue(someVar);
int storedValue = JsonConvert.DeserializeObject(myJValue);

但这似乎只适用于JObjects。有没有办法从JValue中获取整数?

4 个答案:

答案 0 :(得分:22)

也许这可以帮助你:

int storedValue = myJValue.ToObject<int>(); 

答案 1 :(得分:3)

int storedValue =(int)myJValue;

答案 2 :(得分:2)

对于任何对性能感兴趣的人,function wait(ms) { return new Promise(r => setTimeout(function() { console.log('Hello'); }, ms)); } async function GetUser() { await wait(5000); console.log('world'); } GetUser();Value()快得多。对于字符串,只需使用ToObject()

内部测试:

ToString()

双重测试:

value.Value<int>() - 2496ms
value.ToObject<int>() - 6259ms

字符串测试:

value.Value<double>() - 572ms
value.ToObject<double>() - 6319ms

value.Value<string>() - 1767ms
value.ToObject<string>() - 6768ms
value.ToString() - 130ms

答案 3 :(得分:0)

这里已经有很好的答案,但是我想再添加一些人们可能会觉得有用的答案。如果您有一个List<JValue>,我们将其命名为myJValueList,并且列表中的JValue对象内部拥有一个int,那么您可以让int进行以下:

foreach(int myInt in myJValueList){
    //do some work with the myInt 
}