c# JSON的转化

该代码段展示了如何在C#中创建一个名为`OutPMRBean`的实体类,并手动生成其对应的JSON字符串。同时,它还包含了将JSON字符串反序列化回`OutPMRBean`对象的方法。示例中涉及的关键点包括诊断列表的处理和属性值的赋值与提取。
摘要由CSDN通过智能技术生成

1.定义实体类

public class outpmrbean
    {
       

        public string PATIENT_ID { get; set; }
        public string VISIT_DATE { get; set; }
        public string VISIT_NO { get; set; }
    
        public string ILLNESS_DESC { get; set; }
        public string ANAMNESIS { get; set; }
        public string FAMILY_ILL { get; set; }
        public string MARRITAL { get; set; }
        public string INDIVIDUAL { get; set; }
        public string MENSES { get; set; }
        public string MED_HISTORY { get; set; }
        public string BODY_EXAM { get; set; }
      
        public string ADVICE { get; set; }
        public string  DOCTOR { get; set; }
        public string OPERATION_RECORD { get; set; }
        public string MEDICAL_RECORD { get; set; }
        public string DOCTOR_NO { get; set; }
        public string MEMO { get; set; }
        public string CDIAG { get; set; }
        public string ILLNESS_DATE { get; set; }
        public string MATERNITY { get; set; }
        public string PRINT_FLAG { get; set; }
        public string SUSPECTED_DIAG_INDICATOR { get; set; }
        public List<diaglistbean> diaglistbeans { get; set; }
        
       
    }
 public class diaglistbean
        
    {
        public string ordinal { get; set; }
        public string diag_desc { get; set; }
        public string diagnosis_code { get; set; }
        public string flag { get; set; }
        public string cdiag { get; set; }

    }

2.手动生成字符串

 public static string getBean() {

            JObject  diag = new JObject();
            diag["PATIENT_ID"] = "9999999";
            diag["VISIT_DATE"] = "1996-03-19";
            diag["VISIT_NO"] = "0005689";
           


            //诊断列表
            JArray datas = new JArray();

            //生成第一条数据
            JObject diag1 = new JObject();
            diag1["ordinal"] = "1";
            diag1["diag_desc"] = "新冠";
            diag1["diagnosis_code"] = "X05.6";
            diag1["flag"] = "2";
            datas.Add(diag1);


            //生成第一条数据
            JObject diag2 = new JObject();
            diag2["ordinal"] = "2";
            diag2["diag_desc"] = "耳鸣";
            diag2["diagnosis_code"] = "X05.7";
            diag2["flag"] = "1";
            datas.Add(diag2);



            //添加到总节点
            diag["diaglistbeans"] = datas;


            return diag.ToString();
        }

 3.解析序列化字符串到对象 注意大小写!!!

public outpmrbean diag1(string json)
        {



            JObject diag = JObject.Parse(json);
            outpmrbean outpmrbean = new outpmrbean();
            outpmrbean.PATIENT_ID = diag.Value<string>("PATIENT_ID"); ;
            outpmrbean.VISIT_DATE = diag.Value<string>("VISIT_DATE"); ;
            outpmrbean.VISIT_NO = diag.Value<string>("VISIT_NO"); ;

            outpmrbean.ILLNESS_DESC = diag.Value<string>("ILLNESS_DESC"); ;
            outpmrbean.ANAMNESIS = diag.Value<string>("ANAMNESIS"); ;
            outpmrbean.FAMILY_ILL = diag.Value<string>("FAMILY_ILL"); ;
            outpmrbean.MARRITAL = diag.Value<string>("MARRITAL");
            outpmrbean.INDIVIDUAL = diag.Value<string>("INDIVIDUAL");
            outpmrbean.MENSES = diag.Value<string>("MENSES");
            outpmrbean.MED_HISTORY = diag.Value<string>("MED_HISTORY");
            outpmrbean.BODY_EXAM = diag.Value<string>("BODY_EXAM");

            outpmrbean.ADVICE = diag.Value<string>("ADVICE");
            outpmrbean.DOCTOR = diag.Value<string>("DOCTOR");
            outpmrbean.OPERATION_RECORD = diag.Value<string>("OPERATION_RECORD");
            outpmrbean.MEDICAL_RECORD = diag.Value<string>("MEDICAL_RECORD");
            outpmrbean.DOCTOR_NO = diag.Value<string>("DOCTOR_NO");
            outpmrbean.MEMO = diag.Value<string>("MEMO");
            outpmrbean.CDIAG = diag.Value<string>("CDIAG");
            outpmrbean.ILLNESS_DATE = diag.Value<string>("ILLNESS_DATE");
            outpmrbean.MATERNITY = diag.Value<string>("MATERNITY");
            outpmrbean.PRINT_FLAG = diag.Value<string>("PRINT_FLAG");
            outpmrbean.SUSPECTED_DIAG_INDICATOR = diag.Value<string>("SUSPECTED_DIAG_INDICATOR");


            List<diaglistbean> diaglist = new List<diaglistbean>();

            JArray dates = diag.Value<JArray>("diaglistbeans");

            foreach (JObject diags in dates)
            {
                diaglistbean diaglistbean = new diaglistbean();
                diaglistbean.ordinal = diags.Value<string>("ordinal");
                diaglistbean.diag_desc = diags.Value<string>("diag_desc");
                diaglistbean.diagnosis_code = diags.Value<string>("diagnosis_code");
                diaglistbean.flag = diags.Value<string>("flag");
                diaglist.Add(diaglistbean);


            }
            outpmrbean.diaglistbeans = diaglist;

            return outpmrbean;
        }
        #endregion

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值