记录!!!
使用接口工具,获取得到 datatable ,dicTable字典 、"romens",和pushtime 可写可删
将其写入下面代码即可
JObject jsonData = GetJObject("romens", pushtime, datatable, saa, dicTable, "datas");
/// <summary>
/// 生成json + 加密
/// </summary>
/// <param name="appid">根据自己实际情况是否需要添加,可删除</param>
/// <param name="pushtime">根据自己实际情况是否需要添加,可删除</param>
/// <param name="datas">获取到的datatable</param>
/// <param name="sign">JSON字符串</param>
/// <returns></returns>
private JObject GetJObject(string appid, string pushtime, DataTable dt, string sign, Dictionary<string, string> dicTable, string detName) //, DataTable dt,DataTable dtDet
{
JObject jObject = new JObject();
//string datas=string.Empty;
jObject.Add("appid", appid);
jObject.Add("pushtime", pushtime);
//jObject.Add("datas", datas);
//数组格式
JArray jArray = new JArray();
//数组明细组成
JObject jObjectDet = new JObject();
for (int a = 0; a < dt.Rows.Count; a++)
{
jObjectDet = new JObject();
for (int b = 0; b < dt.Columns.Count; b++)
{
//如果该列被允许添加到json中
if (ifExis(dicTable, dt.Columns[b].ColumnName.ToUpper()))
{
string keyName = "";
if (dicTable.TryGetValue(dt.Columns[b].ColumnName.ToString().ToUpper(), out keyName))
{
jObjectDet.Add(keyName, dt.Rows[a][b].ToString());
}
}
}
jArray.Add(jObjectDet);
}
jObject.Add(detName, jArray);
//Log("加密之前:" + sign);
jObject.Add("sign", EncryptWithMD5(sign));
//Log("加密之后:" + EncryptWithMD5(sign));
return jObject;
}
/// <summary>
/// 判断传过来的数据源的列是否生成到Json中
/// </summary>
/// <param name="dicTable"></param>
/// <param name="xxStr"></param>
/// <returns></returns>
public bool ifExis(Dictionary<string, string> dicTable, string xxStr) //判断dicTable的key 是否与 传过来的string串匹配
{
bool boolFlg = false;
foreach (var temp in dicTable)
{
if (temp.Key.Equals(xxStr))
{
boolFlg = true;
}
}
return boolFlg;
}
/// <summary>
/// 生成sign json
/// </summary>
/// <param name="appid"></param>
/// <param name="pushtime"></param>
/// <returns></returns>
private JObject GetSign(string appid, string pushtime) //, DataTable dt,DataTable dtDet
{
JObject jObject = new JObject();
jObject.Add("appid", appid);
jObject.Add("pushtime", pushtime);
return jObject;
}
效果如:
{
"appid": "romens",
"pushtime": "20211025 00:00:06",
"datas": [
{ },
{ },
{ },
{ } ] ,
"sign": "819D4CF185B075F7E0E8FA5026451557"
}