当前位置:编程学习 > C#/ASP.NET >>

C#里面关于不同格式的JSON字符串的解析

这个是数据类
   [Serializable]  
    [DataContract] 
    public class VehicleGroupInfo
    {
        [DataMember]
        public string Id { get; set; }
        [DataMember]
        public string Name { get; set; }
    }

这个是我的解析方法
List<VehicleGroupInfo> _list = JsonConvert.DeserializeObject<List<VehicleGroupInfo>>(value);


比如有下面这两种都是符合有效的JSON字符串;
格式一:[{"Id":"1","Name":"所有车组"},{"Id":"2","Name":"车组1"},{"Id":"3","Name":"车组2"}]
格式二:{"车组1":[{"Id":"1","Name":"所有车组"},{"Id":"2","Name":"车组1"},{"Id":"3","Name":"车组2"}]}

通过各种方法尝试,发现支持格式一的JSON字符串的解析;
求同事支持两种字符串的解析方法;要是有哪位同学能跟我稍微讲解下这个两种方法在解析的时候的不同点,就更多谢了!在此先多谢大家了! C# JSON解析 --------------------编程问答-------------------- 试试fastCSharp
        public class VehicleGroupInfo
        {
            public string Id { get; set; }
            public string Name { get; set; }
            public static VehicleGroupInfo[] fromJson(string json)
            {
                fastCSharp.setup.cSharp.ajax.jsonNode node = new fastCSharp.setup.cSharp.ajax.jsonParser().Parse(json);
                if (node.Type == setup.cSharp.ajax.jsonNode.nodeType.List) return fastCSharp.setup.cSharp.ajax.parseJson.Get<VehicleGroupInfo[]>(node);//如果是数组
                return fastCSharp.setup.cSharp.ajax.parseJson.Get<VehicleGroupInfo[]>(node.Dictionary.Values.getList().firstOrDefault());//如果是字典嵌套数组
            }
        }
--------------------编程问答-------------------- wcf转化的都是第一种形式的吧,第二种没见到过  帮顶吧 
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,