繁体   English   中英

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

[英]Read integer or doubles from JsonArray in C#

我必须从服务器接收一个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一起使用并支持您的方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM