json
1、通过json来传递数据
2、json也可以用来传递照片
3、json数据要用base64编码,解决不可见字符的问题
键值对
{
键:值 //类似->问题:答案
}
流程
发送流程
1、创建json数据
2、base64编码
3、发送数据
接收流程
1、接收数据
2、base64解码
3、读取json对应的数据
举个栗子
案例1:
- app -> 树莓派app -> 树莓派
设置抽水300ml,按下app的抽水按钮,树莓派开始抽水 - app
2.1app将抽水300ml的消息封装为json数据
{
“get_water_ml":"300"
}
2.2 将json数据进行base64编码
2.3发送给树莓派
- 树莓派
3.1 socket接收数据
3.2对数据进行base64解码,获取json数据
{
“get_water_ml":"300"
}
3.3获取get_water_ml的值,300
操作抽水机抽水300ml
树莓派->app,树莓派往app发送数值100,100表示抽水机抽了100ml,
cJSON库,linux平台
c语言实现了json的操作
json样例
{
"water_ml":"100"
}
对json数据进行base64编码
socket发送给app
app接收json数据
对数据进行base64解码,获取json数据
{
"water_ml":"100"
}
读取water_ml这个值
显示到app上
base64
1、网络传输过程中,传输ascii码的时候,不同的设备会对不可见字符进行不同的操作。这样的话会出现问题。
2、传输100个字节,实际上对方只接受10个字节
3、二进制 -> 按64个可见字符编码