C#检验json对象是否存在对应的KEY

该C#代码段展示了如何解析JSON字符串并检查其中的键是否存在。通过使用`JObject.Parse`方法解析JSON,然后遍历数据表中的行和列,如果在JSON对象中找不到对应键,则输出错误信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public static string Import()
        {
            string str = "{\"impt_No\":\"001\",\"impt_Name\":\"ZERO\",\"is_impt_tb\":\"1\",\"impt_type\":\"0\"}";
            //数据源初步校验[全部检查,有误返回错误列表]
            StringBuilder sql = new StringBuilder();
            JObject jo = JObject.Parse(jsonStr);
            if (jo.Property("impt_No") != null || jo.Property("impt_No").ToString() != "")
            {
                //根据配置检验前端附加列的完整性,如果否提示原因并终止
                sql.Append("SELECT url_json_key FROM impt_cnf_add_detail WWHERE impt_No='");
                sql.Append(jo.Property("impt_No").Value);
                sql.Append("' ");
                DataTable dt_add_detail = SqlEasy.ExecuteDataTable(sql.ToString());
                if (dt_add_detail.Rows.Count > 0)
                {
					//判断一列
					 for (int i = 0; i < dt_add_detail.Rows.Count; i++)
                    {
                        if (jo.Property(dt_add_detail.Rows[i][0].ToString()) == null || jo.Property(dt_add_detail.Rows[i][0].ToString()).ToString() == "")
                        {
                            Console.WriteLine("KEY:" + row[col].ToString() + "不存在!请检验前端附加列的完整性。");
                            break;
                        }
                    }
					
					//如果要判断每一行每一列,则用这个
                    //foreach (DataRow row in dt_add_detail.Rows)
                    //{
                        //foreach (DataColumn col in dt_add_detail.Columns)
                        //{
                            //if (jo.Property(row[col].ToString()) == null || jo.Property(row[col].ToString()).ToString() == "")
                            //{
                                //Console.WriteLine("KEY:" + row[col].ToString() + "不存在!请检验前端附加列的完整性。");
                                //break;
                            //}
                        //}
						//break;
                    //}
                }
            }
            else
            {
                Console.WriteLine("请检查配置编号是否有误!");
            }
            return null;
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值