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--------------------编程问答-------------------- wcf转化的都是第一种形式的吧,第二种没见到过 帮顶吧
{
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());//如果是字典嵌套数组
}
}
补充:.NET技术 , C#