从 C# 中的 JsonArray 读取整数或双精度

本文关键字:整数 双精度 读取 JsonArray 中的 | 更新日期: 2023-09-27 18:36:12

我必须从我的服务器接收一个json文件,我需要解析它。到目前为止,我收到所有字段都是字符串:

{"key1":"12", "key2":"23.5",...}

我是这样读的:

JsonArray root = JsonValue.Parse(jsonString).GetArray();
for (uint i = 0; i < root.Count; i++)
        {
            int id = Convert.ToInt32(root.GetObjectAt(i).GetNamedString("id"));
            int state = Convert.ToInt32(root.GetObjectAt(i).GetNamedString("state"));
 .....
但是现在,我

以整数或双精度的形式接收一些数据,我不知道如何以我直到现在的方式解析它,因为没有方法可以返回带有给定字符串的 int。

{"key1":12, "key2":23.5,...}

从 C# 中的 JsonArray 读取整数或双精度

>System.Json不允许你看到整数和浮点数之间的区别。您可能想尝试 Json.NET,它确实:

var parsed = JObject.Parse("{'"key1'":12, '"key2'":23.5 }");
foreach (JProperty node in parsed.Children())
{
    Console.WriteLine("{0}: {1}", node.Name, node.Value.Type);
}

输出:

key1: Integer
key2: Float

当然,还有其他库可以处理 JSON,但至少 Json.NET 库可以与 Silverlight 配合使用并支持您的方案。