我试过了:
JValue myJValue = getJValue(someVar);
int storedValue = JsonConvert.DeserializeObject(myJValue);
但这似乎只适用于JObjects。有没有办法从JValue中获取整数?
答案 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
}