找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1262|回复: 5
打印 上一主题 下一主题
收起左侧

单片机+ESP8266接收天气字符串的处理问题

[复制链接]
跳转到指定楼层
楼主
ID:398219 发表于 2022-10-1 09:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
新手自学单片机不懂就问:)。51单片机+8266接收心知天气回传的天气数据如下。{"results":[{"location":{"id":"WM0B0X54DZW9","name":"Chongqing","country":"CN","path":"Chongqing,Chongqing,China","timezone":"Asia/Shanghai","timezone_offset":"+08:00"},"now":{"text":"Sunny","code":"0","temperature":"25"},"last_update":"2022-10-01T08:50:12+08:00"}]}
我想要提取“code”后面的数字“0”和"temperature"后面的温度数据,求方法。谢谢各位大神指导。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:771630 发表于 2022-10-1 10:02 | 只看该作者
strstr匹配字符串,然后再加上字符串偏移的Head指针,再strchr双引号查找结束地方得Tail,把Tail指向的位置置0,再atoi(Head)
回复

使用道具 举报

板凳
ID:398219 发表于 2022-10-1 20:11 | 只看该作者
XLinliY.Zhang 发表于 2022-10-1 10:02
strstr匹配字符串,然后再加上字符串偏移的Head指针,再strchr双引号查找结束地方得Tail,把Tail指向的位置 ...

大哥,能否程序上指导一下怎么操作啊
回复

使用道具 举报

地板
ID:277550 发表于 2022-10-1 23:07 | 只看该作者
参考这个     隔壁坛

"C语言解析JSON(HeWearher)测试(nxjson)"
回复

使用道具 举报

5#
ID:151348 发表于 2022-10-2 09:19 | 只看该作者
假设esp8266返回的字符串为objstr
a=strstr(objstr,”code”);//找出”code”所在的位置,位置为a
strcpy(newstr,objstr+a+7,1)//a+7是code后数字“0”所在的位置,这一句就是把0拷贝到字符串newstr里

另外有用 memcpy()来复制的,网上搜一下
回复

使用道具 举报

6#
ID:310441 发表于 2022-10-11 07:04 来自手机 | 只看该作者
寻找字符串中的特定码这是通信中的基本功,建议自己还是要实践和思考下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表