原标题:单片机与安卓手机通过蓝牙串口模块利用JSON数据格式通信实例
JSON 指的是 Java 对象表示法(Java Object Notation),JSON 是轻量级的文本数据交换格式,JSON 独立于语言:JSON 使用 Java语法来描述数据对象,但是JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。JSON 具有自我描述性,更易理解。
JSON的结构:(1) Name/Value Pairs(无序的):类似所熟知的Keyed list、 Hash table、Disctionary和Associative array。在Android平台中同时存在另外一个类 "Bundle",某种程度上具有相似的行为。(2) Array(有序的):一组有序的数据列表。
本文简要介绍单片机与安卓手机通过蓝牙串口模块利用JSON数据格式通信,单片机采用51系列单片机用C51语言编写,通过sprintf构造JSON格式文件通过蓝牙串口模块发送到安卓手机,简要代码如下:
sprintf(msg,"{\"RR\":\"%02x\"}\0",(unsigned int )RRtemp);
Serial_print(msg);
这里涉及到Serial_print()函数如下:
void Serial_print(char *msg)
{
while (*msg != '\0') {
S2BUF = *msg;
while ((S2CON & S2TI) == 0);
S2CON &= ~S2TI;
msg++;
}
}
可以利用安卓自带的org.json.JSONArray、JSONObject对JSON数据进行解析,org.json中的JSONObject和JSONArray解析如下:
1、JSONObject是JSON对象的键值对,例如:{“name”:”bobo”, “age”:”10”}。 2、JSONArrays是JSON的数组,例如[“aa”, “bb”. {“name”:”bobo”, “age”:10}]。
在安卓手机编写相关的代码,利用安卓蓝牙API编写代码,新建一个接受线程去接收蓝牙收到的数据,把接收到的数据用JSON数据的API进行解析,简要代码如下:
try {
JSONObject obj = new JSONObject(recStr);
info = Integer.parseInt(obj.getString("RR"), 16);
} catch (JSONException e) {
e.printStackTrace();
}
这样就可以在安卓手机APP上获取索要的数据,接下来就可以进行相关的数据处理。返回搜狐,查看更多
责任编辑:
如果觉得《java 蓝牙读取数据格式 单片机与安卓手机通过蓝牙串口模块利用JSON数据格式通信实例...》对你有帮助,请点赞、收藏,并留下你的观点哦!