JSON—接收服务器端传来的数据

3 篇文章 0 订阅

1.服务器端传送json格式的数据代码如下(这里指在servlet类中的情况):

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class repjson extends HttpServlet {
	public repjson() {
		super();
	}
	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}
        //主方法,通过doGet的response回传json数据
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		String title="HelloJson";
		String a="J";
		String b="S";
		String c="O";
		String d="N";
		String xData="["+"\""+a+"\""+","+"\""+b+"\""+","+"\""+c+"\""+","+"\""+d+"\""+"]";
		String yData="["+4+","+3+","+2+","+1+"]";
		out.println("{" + "\"title\": \"" + title + "\"" + ","+ "\"xData\":" + xData + "," + "\"yData\":" + yData + "}");
	}

	public void init() throws ServletException {
		// Put your code here
	}

}

2.客户端接收json数据并以直方图显示代码如下:

<%@ page language="java" pageEncoding="utf-8"%>
<%@ page contentType="text/html;charset=utf-8"%>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script type="text/javascript">
	$(document).ready(function() {
	var options = {
			chart : {
				renderTo : 'container',
				type : 'column'
			},
			title : {
				text : ''
			},
			credits : {
				enabled : false
			},
			exporting : {
				enabled : true
			},
			plotOptions : {
				column : {
					pointPadding : 0.2,
					borderWidth : 0
				}
			},
			tooltip : {
				formatter : function() {
					return '' + this.x + ': ' + this.y + ' 次';
				}
			},

			legend : {
				enabled : false
			},

			xAxis : {
				categories : [],
				labels : {
					rotation : -45,
					align : 'right',
					style : {
						fontSize : '13px',
						fontFamily : 'Verdana, sans-serif'
					}
				}
			},
			yAxis : {
				min : 0,
				title : {
					text : '数量(次)'
				}
			},
			series : [ {
				name : "",
				data : []
			} ]
		};

		$.get('servlet/repjson', function(JSON) {
			
			JSON = eval("(" + JSON + ")");
			options.title.text = JSON.title;

			$.each(JSON.xData, function(key, value) {
				options.xAxis.categories.push(value);
			});
			$.each(JSON.yData, function(key, value) {
				options.series[0].data.push(value);
			});

			var chart = new Highcharts.Chart(options); 

		});
	});
</script>
<div id="container" style="min-width: 720px; height: 400px; margin: 0 auto"></div>

3.实验结果图如下:



### 回答1: STM32GPRS是一种集成了STM32微控制器和GPRS通信模块的设备,用于实现物联网应用和数据传输。要将STM32GPRS的数据传输到服务器上,可以按照以下步骤进行: 1. 配置GPRS通信模块:使用STM32GPRS上的AT指令或者在相应的开发环境中,通过串口与GPRS通信模块进行通信,配置相关的参数,例如APN(接入点名称)、用户名、密码等,以便能够与GPRS网络建立连接。 2. 连接GPRS网络:通过发送相应的AT指令,使GPRS通信模块能够连接到GPRS网络。这样,STM32GPRS就能够通过GPRS网络与服务器进行通信。 3. 编写程序:在STM32微控制器上,编写程序以实现数据的采集和传输。可以使用STM32的GPIO口、模拟输入口、定时器等功能,获取传感器数据、监测系统状态等。 4. 封装数据:将获取到的数据进行封装,使其符合特定的协议,方便在服务器端进行解析和处理。可以使用JSON、XML等常用的数据格式。 5. 通过GPRS网络传输数据:使用GPRS通信模块的AT指令或者GPRS库函数,将封装好的数据通过GPRS网络传输到服务器上。可以使用TCP/IP或者HTTP协议进行数据传输。 6. 在服务器端接收和处理数据服务器端可以使用相应的网络编程技术,监听指定端口,接收STM32GPRS发送过来的数据。然后根据协议进行解析和处理,将数据存储到数据库或者进行相应的业务处理。 7. 建立双向通信:如果需要实现双向通信,服务器可以通过GPRS网络向STM32GPRS发送指令或者控制信号。STM32GPRS接收到指令后,执行相应的操作。 通过以上步骤,可以将STM32GPRS的数据传输到服务器上,实现数据的监测、控制和存储等功能。 ### 回答2: 将STM32GPRS的数据传输到服务器上可以通过以下步骤实现: 1. 配置STM32GPRS模块:首先,需要在STM32控制器上配置GPRS模块的通信参数,如波特率、串口等。这可以通过编程或者使用相关的配置工具完成。 2. 建立GPRS连接:使用STM32控制器向GPRS模块发送AT命令来建立与服务器的GPRS连接。通过AT命令可以设置APN地址、用户名和密码等参数。 3. 数据封装:将需要传输的数据按照协议要求进行封装。可以使用JSON、XML等格式对数据进行结构化。 4. 数据传输:使用GPRS模块和STM32控制器进行数据传输。可以通过串口通信或者使用相关的通信接口(如SPI、I2C等)将封装好的数据发送给GPRS模块。 5. 接收数据:服务器将接收到的数据进行处理并返回响应。可以使用HTTP或者其他协议进行数据传输。 6. 数据处理:STM32控制器接收到服务器的响应后,可以对数据进行解析处理,如提取关键信息或者进行状态判断。 7. 数据存储:根据实际需求,可以将数据存储在STM32控制器的内部存储器或者外部存储器中,也可以直接将数据传输到服务器上进行存储。 需要注意的是,在进行以上步骤时,要确保网络连接的稳定性和数据的安全性,可以使用加密算法对数据进行加密传输,以保护数据的隐私和完整性。 ### 回答3: 将STM32和GPRS模块连接在一起后,可以通过以下步骤将数据传输到服务器上: 1. 配置GPRS模块:首先,需要通过AT指令初始化和配置GPRS模块。使用串口通信将STM32与GPRS模块连接,并发送AT指令进行模块的初始化。设置GPRS模块的APN、用户名、密码等网络参数,以便连接到互联网。 2. 建立GPRS连接:使用AT指令建立GPRS连接。通过发送指令实现与GPRS网络的连接,比如使用AT+CSTT指令设置APN、AT+CIICR指令建立GPRS连接。 3. 建立TCP连接:使用AT指令建立与服务器的TCP连接。通过AT+CIPSTART指令设置服务器的IP地址和端口号,实现与服务器的TCP连接。 4. 发送数据:将需要传输的数据打包成符合服务器要求的格式,并通过AT+CIPSEND指令发送到服务器。发送前可以通过AT+CIPSEND指令设置数据长度。 5. 接收响应:等待服务器的响应。发送数据后,使用AT指令等待服务器的响应。通过AT+CIPRECVDATA指令可以接收从服务器返回的数据。 6. 关闭连接:数据传输完毕后,使用AT指令关闭与服务器的TCP连接和GPRS连接。通过AT+CIPCLOSE指令实现关闭连接。 通过上述步骤,就可以将STM32上的数据通过GPRS传输到服务器上。但需要注意的是,具体的AT指令会根据使用的GPRS模块和服务器的要求有所不同,需要根据实际情况进行相应的配置和调试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值