首页 新闻 赞助 找找看

JSON转换List遇到空值

0
[已解决问题] 解决于 2013-03-29 09:58

现在程序里需要将Json转换成List<Model>,但是Json数据里有一列ID为空值,所以程序报错了,请各位大侠指点一下,如果遇到空值改如何转换呢

问题补充:

下面这段是我的转换代码:

/// <summary>
        /// Json反序列化,返回对象
        /// </summary>
        /// <typeparam name="T">反序列化类型</typeparam>
        /// <param name="jsonString">反序列化字符串</param>
        /// <returns>反序列化后的值</returns>
        public static T JsonToModel<T>(string jsonString)
        {
            using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)))
            {
                try
                {
                    DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
                    T jsonObject = (T)serializer.ReadObject(ms);
                    return jsonObject;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    ms.Close();
                    ms.Dispose();
                }
            }
        }

下面这个是调用:

List<Model> subList = JsonToModel<List<Model>(model.JsonString);
淘@淘的主页 淘@淘 | 小虾三级 | 园豆:602
提问于:2013-03-28 14:31
< >
分享
最佳答案
0

1.GUID 设置为 GUID? guid

2.或者做判断,如果这个ID为空,Guid guid = Guid.Empty;

奖励园豆:5
.! | 菜鸟二级 |园豆:402 | 2013-03-29 06:00
其他回答(4)
0

空值如果不能去掉的话,就转换成new Guid()吧,你数据库ID肯定不能为空呀

*^__^* | 园豆:428 (菜鸟二级) | 2013-03-28 15:25
0

改代码。。加DBNull.Value判断。

路过秋天 | 园豆:4787 (老鸟四级) | 2013-03-28 15:37

请问要在哪里加这个判断呢

支持(0) 反对(0) 淘@淘 | 园豆:602 (小虾三级) | 2013-03-28 15:44

@淘@淘: 调用微软代码的,只能自己检测传过来的传不能为Null,CYQ.Data 开源代码里有个JsonHelper类,也可以直接拿来用,有源码可以自己改。

支持(0) 反对(0) 路过秋天 | 园豆:4787 (老鸟四级) | 2013-03-28 15:49
0

空的话guid 可以用guid.empty

chenping2008 | 园豆:9836 (大侠五级) | 2013-03-29 09:48
0

subList 如何取值?

吉格艾諾 | 园豆:206 (菜鸟二级) | 2015-11-30 13:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册