一、第一種方法:可以這樣接收前端傳入的jsonArray字符串到一個(gè)類的數(shù)組中,然后遍歷該數(shù)組取值
這種方法需要?jiǎng)?chuàng)建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 + "');");
}
}
二、第二種方法:可以這樣接收前端傳入的jsonArray字符串到一個(gè)類的數(shù)組中,然后遍歷該數(shù)組取值文章來源:http://www.zghlxwxcb.cn/news/detail-616678.html
[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];
// 然后將該元素轉(zhuǎn)換為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}";
}
}
秋風(fēng)寫于淄博,業(yè)務(wù)咨詢與技術(shù)交流:Q375172665文章來源地址http://www.zghlxwxcb.cn/news/detail-616678.html
到了這里,關(guān)于c#[WebMethod]方法接收前端傳入的JsonArray的方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!