广州哪家公司做网站好,做国外网站汇款用途是什么,张家港外贸网站建设,怎样做网站的关键字搜索功能目录 定义一些静态变量
定时器事件的处理器
订阅数据的执行器
处理json格式数据和将处理好的数据添加到数据库中
要求和最终效果
总结一下 定义一些静态变量
// 在这里都定义成全局的 一般都定义成静态的private static MqttClient mqttClient; // mqtt客户端 private s…目录 定义一些静态变量
定时器事件的处理器
订阅数据的执行器
处理json格式数据和将处理好的数据添加到数据库中
要求和最终效果
总结一下 定义一些静态变量
// 在这里都定义成全局的 一般都定义成静态的private static MqttClient mqttClient; // mqtt客户端 private static string mqttServer 121.37.84.114; // mqtt服务器地址private static string mqttClientId frank_writer; // 客户端id 随便写private static string SubscribedTopic fb5756; // 订阅主题//连接数据库字符串private static string connectionString Data SourceMOGFPLQEEJOTGON\\SQLEXPRESS;Initial Catalogfrank;User IDfrank;Passwordroot123;// JObject用来生成一个JSON对象简单来说就是生成”{}”// JArray用来生成一个JSON数组也就是”[]”// JProperty用来生成一个JSON数据格式为key/value的值// 而JValue则直接生成一个JSON值private static JObject jsonObject; //private Timer timer;// 添加一个定时器
定时器事件的处理器 private void File_access_date(object sender, EventArgs e) {//public MqttClient(string brokerHostName, int brokerPort, bool secure, X509Certificate caCert);// 四个参数 服务器ip 端口号 不需要 网络传输证书mqttClient new MqttClient(mqttServer, 1883, false, null); // 连接服务器// 给客户端订阅数据 添加事件执行器mqttClient.MqttMsgPublishReceived MqttClient_MqttMsgPublishReceived;// 给mqtt添加事件执行器mqttClient.Connect(mqttClientId); // 添加连接服务的id// 订阅主题连接质量为2 这个两个数组目前就两个参数mqttClient.Subscribe(new string[] { SubscribedTopic }, new byte[] { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE });}
订阅数据的执行器
// 事件具体处理器处理具体读取的数据private static void MqttClient_MqttMsgPublishReceived(object sender, MqttMsgPublishEventArgs e){// Handle the message, e.g., write to SQL 获取json格式的数据string message System.Text.Encoding.UTF8.GetString(e.Message);
//MessageBox.Show(Subscribed to e.Message); 查看内容WriteToDatabase(message);// 写到数据库里面}
处理json格式数据和将处理好的数据添加到数据库中 private static void WriteToDatabase(string data){// sql语句string sql INSERT INTO FLF800(REG001,REG002,REG003,REG004,REG005,REG006,REG007) VALUES (REG001,REG002,REG003,REG004,REG005,REG006,REG007) ;string newDate data.Replace(08, ); //去掉多余的字符string endDate newDate.Replace(-,);//去掉-字符JObject jsonObject JObject.Parse(endDate);// 将字符串重新转为JSON格式的数据
string senserDatas jsonObject[sensorDatas].ToString();//获取json数据的第一个元素
// 转为json数据转之前数据格式必须是一样的不可以又多余的格式不然就会报错JArray jsonArray JArray.Parse(senserDatas); // 将json其转化为数据int sum jsonArray.Count; // 获取数据的大小Dictionarystring, string dictionary new Dictionarystring, string();// 字典来存储数据// for (int i 0; sum 0;i){jsonObject jsonArray[i] as JObject;// 将每一个json元素重新转为json对象dictionary.Add(jsonObject[flag].ToString(), jsonObject[value].ToString());sum--;}
//power JsonConvert.DeserializeObjectPowerData(endDate);
using (SqlConnection conn new SqlConnection(connectionString)){conn.Open();using (SqlCommand cmd new SqlCommand(sql, conn)){cmd.Parameters.AddWithValue(REG001, dictionary[REG001]);cmd.Parameters.AddWithValue(REG002, dictionary[REG002]);cmd.Parameters.AddWithValue(REG003, dictionary[REG003]);cmd.Parameters.AddWithValue(REG004, dictionary[REG004]);cmd.Parameters.AddWithValue(REG005, dictionary[REG005]);cmd.Parameters.AddWithValue(REG006, dictionary[REG0061]);cmd.Parameters.AddWithValue(REG007, dictionary[REG0062]);cmd.ExecuteNonQuery();}}//MessageBox.Show(数据添加成功);}
要求和最终效果 总结一下 // JObject用来生成一个JSON对象简单来说就是生成”{}”调用静态方法重新变成json对象JObject jsonObject JObject.Parse(endDate);// 将字符串重新转为JSON格式的数据string senserDatas jsonObject[sensorDatas].ToString();//获取json数据的第一个元素// JArray用来生成一个JSON数组也就是”[]”// 转为json数据转之前数据格式必须是一样的不可以又多余的格式不然就会报错JArray jsonArray JArray.Parse(senserDatas); // 将json其转化为数据int sum jsonArray.Count; // 获取数据的大小// 这两个没有用到但在百度上查到了在这里也提一下 // JProperty用来生成一个JSON数据格式为key/value的值// 而JValue则直接生成一个JSON值