从 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,...}
>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 配合使用并支持您的方案。