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上获取索要的数据,接下来就可以进行干系的数据处理。