小明(@_@) 2023-03-29 00:39 采纳率: 50%
浏览 45

关于model类集合转JSON,后加的字段不能转JSON格式

在VS2022 中,使用C# 编写程序,选创建webservices 操作数据库,新建model类,最后webservice返回model类的集合
再创建asp.net mvc Controller中接收webservices 返回值转成JSON 发给前台进行操作,都一切正常,

        public JsonResult ObtainMzsfmxK(string jssjh)
        {
            PDHospWebServicesSoapClient mzsfmxkwebsvr = new PDHospWebServicesSoapClient();

            var mzbrcfmxJson = mzsfmxkwebsvr.SearchMzsfmxk(jssjh);  

            return Json(mzbrcfmxJson,JsonRequestBehavior.AllowGet);
        }

但是在webservics中model类新增几个字段 例如

    {
        public string Lrrq { get; set; }
        public string Hzxm { get; set; }
        public string Ksdm { get; set; }
        public string Ksmc { get; set; }
        public string Ysdm { get; set; }
        public string Ysmc { get; set; }
}

新增若干字段

public class MZSFMXK  
    {
        public string Lrrq { get; set; }
        public string Hzxm { get; set; }
        public string Ksdm { get; set; }
        public string Ksmc { get; set; }
        public string Ysdm { get; set; }
        public string Ysmc { get; set; }
**       public string Ybdm { get; set; }
        public string Ybsm { get; set; **}
}

无论怎样,后加的2个字段,不管加多少个,也试过去掉之前的字段,无论怎样后加的字段就是不能转JSON,后调试发现后加的字段在ExtensionData中

img


不是JSON格式

百思不得其解,webservices正常的。就是转JSON时,后加的字段不能转成JSON。 难道第一次转成JSON数据后,就把键值对就定死了,不能改变了!?请了解的大拿, 指点一二,不胜感激!

  • 写回答

3条回答 默认 最新

  • 小明(@_@) 2023-03-31 01:05
    关注

    已经找问题所在,可正常显示了。原来不是转换JSON的原因,是webservice调用的问题。

    var mzbrcfmxJson = mzsfmxkwebsvr.SearchMzsfmxk(jssjh);  
    

    mzbrcfmxJson是MZSFMXK类,是webservice里类,在webservice中新增属性,重新生成后并没刷新调用webservice的程序项目里设置;即服务引用

    img


    将其删除后,重新引用一下,问题解决。
    走了一大弯路。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月29日