Метод c#[WebMethod] получает JsonArray, переданный внешним интерфейсом.

1. Первый метод: вы можете получить строку jsonArray, переданную из внешнего интерфейса, в массив класса, а затем пройти по массиву, чтобы получить значение. Этот метод
требует создания класса PointConfig.

 class PointConfig
        {
    
    
            public string ptcrossing {
    
     get; set; }
            public string ptcrossingId {
    
     get; set; }
            public string camId {
    
     get; set; }
            public string pointid {
    
     get; set; }
            public string ptdirection {
    
     get; set; }
            public string ptGoSet {
    
     get; set; }
            public string ptGoEn {
    
     get; set; }
            public string ptLeftSet {
    
     get; set; }
            public string ptLeftEn {
    
     get; set; }
            public string ptRightSet {
    
     get; set; }
            public string ptRightEn {
    
     get; set; }
            public string ptname {
    
     get; set; }
            public string ptmainX {
    
     get; set; }
            public string ptmainY {
    
     get; set; }
            public string ptsubX {
    
     get; set; }
            public string ptsubY {
    
     get; set; }
            public string ptframediffX {
    
     get; set; }
            public string ptframediffY {
    
     get; set; }
            public string ptgreenlightX {
    
     get; set; }
            public string ptgreenlightY {
    
     get; set; }
            public string ptredlightX {
    
     get; set; }
            public string ptredlightY {
    
     get; set; }
            public string ptmainvalid {
    
     get; set; }
            public string ptsubvalid {
    
     get; set; }
            public string ptframediffvalid {
    
     get; set; }
            public string ptqueuelengthvalid {
    
     get; set; }
            public string ptcheckmethod {
    
     get; set; }
            public string ptchanneltypeA {
    
     get; set; }
            public string ptchanneltypeB {
    
     get; set; }
            public string cameraName {
    
     get; set; }
            public string xgr {
    
     get; set; }
        }
    [WebMethod]
    public static string checkPointConfigUpdateRecord(string pointObj)
    {
    
    
        PointConfig[] pointConfigs = JsonConvert.DeserializeObject<PointConfig[]>(pointObj);
       for (int i = 0; i < pointConfigs.Length; i++)
       {
    
    
            string crossingName_str = pointConfigs[i].ptcrossing.Trim();
            string crossingId_str = pointConfigs[i].ptcrossingId.Trim();
            string cameraId_str = pointConfigs[i].camId.Trim();
            string cameraName_str = pointConfigs[i].cameraName.Trim();
            string dir_str = pointConfigs[i].ptdirection.Trim();
            string i_go_str = pointConfigs[i].ptGoSet.Trim();
            string i_left_str = pointConfigs[i].ptLeftSet.Trim();
            string i_right_str = pointConfigs[i].ptRightSet.Trim();
            string laneName_str = pointConfigs[i].ptname.Trim();
            string main_x_str = pointConfigs[i].ptmainX.Trim();
            string main_y_str = pointConfigs[i].ptmainY.Trim();
            string mainPointValid_str = pointConfigs[i].ptmainvalid.Trim();
            string sub_x_str = pointConfigs[i].ptsubX.Trim();
            string sub_y_str = pointConfigs[i].ptsubY.Trim();
            string subPointValid_str = pointConfigs[i].ptsubvalid.Trim();
            string frame_x_str = pointConfigs[i].ptframediffX.Trim();
            string frame_y_str = pointConfigs[i].ptframediffY.Trim();
            string frameValid_str = pointConfigs[i].ptframediffvalid.Trim();
            string green_x_str = pointConfigs[i].ptgreenlightX.Trim();
            string green_y_str = pointConfigs[i].ptgreenlightY.Trim();
            string red_x_str = pointConfigs[i].ptredlightX.Trim();
            string red_y_str = pointConfigs[i].ptredlightY.Trim();
            string queueValid_str = pointConfigs[i].ptqueuelengthvalid.Trim();
            string calcMathod_str = pointConfigs[i].ptcheckmethod.Trim();
            string channelType_A_str = pointConfigs[i].ptchanneltypeA.Trim();
            string channelTypee_B_str = pointConfigs[i].ptchanneltypeB.Trim();
           string xgr_str = pointConfigs[i].xgr.Trim();
            string xgsj_str = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            sb.Append("insert into 

pointConfig(crossingName,crossingId,cameraId,cameraName,dir,i_go,i_left,i_right,laneName,main_x,main_y,mainPointValid,sub_x,sub_y,subPointValid,frame_x,frame_y,frameValid,green_x,green_y,red_x,red_y,queueValid,calcMathod,channelType_A,channelTypee_B,xgr,xgsj) " +
                "values('" + crossingName_str + "','" + crossingId_str + "','" + cameraId_str + "','" + cameraName_str + "','" + dir_str + "','" + i_go_str + "','" + i_left_str + "','" +
                i_right_str + "','" + laneName_str + "','" + main_x_str + "','" + main_y_str + "','" + mainPointValid_str + "','" + sub_x_str + "','" +
                sub_y_str + "','" + subPointValid_str + "','" + frame_x_str + "','" + frame_y_str + "','" + frameValid_str + "','" + green_x_str + "','" + green_y_str + "','" + red_x_str + "','" + red_y_str + "','" + queueValid_str + "','" + calcMathod_str + "','" +
                channelType_A_str + "','" + channelTypee_B_str + "','" + xgr_str + "','" + xgsj_str + "');");
            }
 }

2. Второй метод: вы можете получить строку jsonArray, переданную из внешнего интерфейса, в массив класса, а затем пройти по массиву, чтобы получить значение.

 
 [WebMethod]
    public static string checkPointConfigUpdateRecord(string pointObj)
    {
    
    
        JavaScriptSerializer serializer = new JavaScriptSerializer();

        object[] jsonArray = (object[])serializer.DeserializeObject(pointObj);
        StringBuilder sb = new StringBuilder();
        if (jsonArray.Length<1)
        {
    
    
            return "{\"result\":false}";
        }
        for(int i = 0; i < jsonArray.Length; i++)
        {
    
    
            object pointConfig = jsonArray[i];
            // 然后将该元素转换为JSON对象
            string json1 = serializer.Serialize(pointConfig);
            Dictionary<string, object> json = (Dictionary<string, object>)serializer.DeserializeObject(json1);

            string crossingName_str = json["ptcrossing"].ToString().Trim();
            string crossingId_str = json["ptcrossingId"].ToString().Trim();
            string cameraId_str = json["camId"].ToString().Trim();
            string cameraName_str = json["cameraName"].ToString().Trim();

            string dir_str = json["ptdirection"].ToString().Trim();
            string i_go_str = json["ptGoSet"].ToString().Trim();
            string i_left_str = json["ptLeftSet"].ToString().Trim();
            string i_right_str = json["ptRightSet"].ToString().Trim();
            string laneName_str = json["ptname"].ToString().Trim();

            string main_x_str = json["ptmainX"].ToString().Trim();
            string main_y_str = json["ptmainY"].ToString().Trim();
            string mainPointValid_str = json["ptmainvalid"].ToString().Trim();

            string sub_x_str = json["ptsubX"].ToString().Trim();
            string sub_y_str = json["ptsubY"].ToString().Trim();
            string subPointValid_str = json["ptsubvalid"].ToString().Trim();

            string frame_x_str = json["ptframediffX"].ToString().Trim();
            string frame_y_str = json["ptframediffY"].ToString().Trim();
            string frameValid_str = json["ptframediffvalid"].ToString().Trim();

            string green_x_str = json["ptgreenlightX"].ToString().Trim();
            string green_y_str = json["ptgreenlightY"].ToString().Trim();
            string red_x_str = json["ptredlightX"].ToString().Trim();
            string red_y_str = json["ptredlightY"].ToString().Trim();
            string queueValid_str = json["ptqueuelengthvalid"].ToString().Trim();



            string calcMathod_str = json["ptcheckmethod"].ToString().Trim();
            string channelType_A_str = json["ptchanneltypeA"].ToString().Trim();
            string channelTypee_B_str = json["ptchanneltypeB"].ToString().Trim();

            string xgr_str = json["xgr"].ToString().Trim();
            string xgsj_str = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");


        
            sb.Append("insert into pointConfig(crossingName,crossingId,cameraId,cameraName,dir,i_go,i_left,i_right,laneName,main_x,main_y,mainPointValid,sub_x,sub_y,subPointValid,frame_x,frame_y,frameValid,green_x,green_y,red_x,red_y,queueValid,calcMathod,channelType_A,channelTypee_B,xgr,xgsj) " +
            "values('" + crossingName_str + "','" + crossingId_str + "','" + cameraId_str + "','" + cameraName_str + "','" + dir_str + "','" + i_go_str + "','" + i_left_str + "','" +
            i_right_str + "','" + laneName_str + "','" + main_x_str + "','" + main_y_str + "','" + mainPointValid_str + "','" + sub_x_str + "','" +
            sub_y_str + "','" + subPointValid_str + "','" + frame_x_str + "','" + frame_y_str + "','" + frameValid_str + "','" + green_x_str + "','" + green_y_str + "','" + red_x_str + "','" + red_y_str + "','" + queueValid_str + "','" + calcMathod_str + "','" +
            channelType_A_str + "','" + channelTypee_B_str + "','" + xgr_str + "','" + xgsj_str + "');");

        }

        int jg = SqlHelper.ExecuteNoneQuery(sb.ToString(), new SqlParameter[] {
    
     });

        if (jg >= 0)
        {
    
    
            return "{\"result\":true}";
        }
        else
        {
    
    

            return "{\"result\":false}";
        }
  }

Цю Фэн пишет в Цзыбо, деловые консультации и технический обмен: Q375172665

Supongo que te gusta

Origin blog.csdn.net/hmwz0001/article/details/131997004
Recomendado
Clasificación