📅  最后修改于: 2023-12-03 14:39:46.347000             🧑  作者: Mango
在使用 LINQ 时,我们有时需要将 JValue(JSON 值)转换为 int 值。在 C# 中,可以使用以下代码实现这一转换:
int myInt = myJValue.Value<int>();
其中,myJValue
是要转换为 int 的 JValue 对象,myInt
是转换后得到的 int 值。
需要注意的是,在转换之前要确保 JValue 对象当前的值类型(value type)为可转换为 int 的类型,如整数或字符串,否则将会抛出异常。
下面是一个示例代码片段,演示如何将 JValue 转换为 int:
using Newtonsoft.Json.Linq;
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
string jsonString = "{ \"myInt\": 123 }";
JObject jsonObject = JObject.Parse(jsonString);
JValue myJValue = (JValue)jsonObject["myInt"];
try
{
int myInt = myJValue.Value<int>();
Console.WriteLine("myInt = " + myInt);
}
catch (Exception e)
{
Console.WriteLine("Error: " + e.Message);
}
}
}
}
以上代码将输出:
myInt = 123
如有需要,还可以使用其他类型的 Value
方法将 JValue 转换为不同的值类型,例如 Value<string>()
将 JValue 转换为字符串类型。