首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >从零开始学习React-解析json、渲染数据(六)

从零开始学习React-解析json、渲染数据(六)

作者头像
王小婷
发布于 2019-11-10 15:47:21
发布于 2019-11-10 15:47:21
3.9K00
代码可运行
举报
文章被收录于专栏:编程微刊编程微刊
运行总次数:0
代码可运行

在上一节里面,从零开始学习React-axios获取服务器API接口(五)我们请求的api是一个天气的api,这一节是如何获取数据,进行解析,并且渲染到前端。

步骤

1:打印json数据,查看数据格式

为了方便查看,我把json数据放在了编辑器里面,对这个json进行解析。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "code": 200,
    "msg": "成功!",
    "data": {
        "yesterday": {
            "date": "5日星期二",
            "high": "高温 21℃",
            "fx": "北风",
            "low": "低温 14℃",
            "fl": "\u003c![CDATA[\u003c3级]]\u003e",
            "type": "晴"
        },
        "city": "上海",
        "aqi": null,
        "forecast": [
            {
                "date": "6日星期三",
                "high": "高温 20℃",
                "fengli": "\u003c![CDATA[\u003c3级]]\u003e",
                "low": "低温 16℃",
                "fengxiang": "东北风",
                "type": "多云"
            },
            {
                "date": "7日星期四",
                "high": "高温 19℃",
                "fengli": "\u003c![CDATA[3-4级]]\u003e",
                "low": "低温 14℃",
                "fengxiang": "东北风",
                "type": "多云"
            },
            {
                "date": "8日星期五",
                "high": "高温 19℃",
                "fengli": "\u003c![CDATA[3-4级]]\u003e",
                "low": "低温 12℃",
                "fengxiang": "北风",
                "type": "多云"
            },
            {
                "date": "9日星期六",
                "high": "高温 19℃",
                "fengli": "\u003c![CDATA[\u003c3级]]\u003e",
                "low": "低温 13℃",
                "fengxiang": "东北风",
                "type": "晴"
            },
            {
                "date": "10日星期天",
                "high": "高温 22℃",
                "fengli": "\u003c![CDATA[3-4级]]\u003e",
                "low": "低温 13℃",
                "fengxiang": "西风",
                "type": "多云"
            }
        ],
        "ganmao": "天气较凉,较易发生感冒,请适当增加衣服。体质较弱的朋友尤其应该注意防护。",
        "wendu": "19"
    }
}

现在我们的目的是要取到"forecast"这个数组里面的所有日期date,并且循环遍历,渲染在页面。

上一节已经成功请求,在打印的时候,(这里我分别打印一下responseresponse.data.data.yesterdayresponse.data.data.forecast,对比一下)先查看一下json的格式。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
console.log(response);
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 console.log(response.data.data.yesterday);
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
console.log(response.data.data.forecast);
2:空数组接收数据

this.state里面写一个list:[]空数接收数据。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
list:[]
3:赋值

数据接收成功之后,也能在控制台打印了,这个时候需要对数据进行处理赋值,把打印的数据赋值给list

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//用到this需要注意指向,箭头函数
    this.setState({
    list:response.data.data.forecast
    })

因为会用到this需要注意指向,所以把axios成功接收数据的函数改成箭头函数。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.then((response) =>{
    console.log(response);
    console.log(response.data.data.forecast);
    //用到this需要注意指向,箭头函数
    this.setState({
    list:response.data.data.forecast
    })
  })
4:渲染在视图层

用map方法对数组进行循环,并且在标签里面进行渲染。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<ul>
    {/* 对数组进行循环 */}
    {
        this.state.list.map((value,key)=>{
          return<li  key={key}>{value.date}</li>
        })
    }
</ul>

效果:点击按钮请求的时候,会将接口数据里面的内容渲染在界面。

参考代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import React  from 'react';
import axios from 'axios'
class Axios extends React.Component {
    //构造函数
    constructor() {
        super();
        //react定义数据
        this.state = {
        list:[]
        }
    }
    //请求接口的方法
    getData=()=>{
    var  api='https://www.apiopen.top/weatherApi?city=%E4%B8%8A%E6%B5%B7';
   
   axios.get(api)
  .then((response) =>{
    //console.log(response);
    console.log(response.data.data.yesterday);
    //用到this需要注意指向,箭头函数
    this.setState({
    list:response.data.data.forecast
    })
  })
  .catch(function (error) {
    // handle error
    console.log(error);
  });
    }
    render() {
        return (
        <div> 
        <h2>axios获取数据</h2>
        <button onClick={this.getData}>获取api接口</button>
<ul>
    {/* 对数组进行循环 */}
    {
        this.state.list.map((value,key)=>{
          return<li  key={key}>{value.date}</li>
        })
    }
</ul>
        </div>
        )
    }
}
export default Axios;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
AI语音大模型的使用
AI语音大模型的使用覆盖 “交互操作、场景适配、个性化设置及注意事项” 四大维度,用户既可以通过日常语音指令快速调用基础功能,也能通过深度设置满足个性化需求。以下是具体使用指南。
数字孪生开发
2025/09/29
1970
AI语音大模型的使用
LLM驱动智能体:游戏研发的新引擎
在人工智能技术快速发展的2025年,大型语言模型(LLM)驱动的智能体已经成为游戏研发领域最具颠覆性的技术革新之一。这些基于自然语言理解和生成能力的AI助手,正在彻底改变游戏开发的生产方式和创意流程。
用户6320865
2025/08/27
2790
LLM驱动智能体:游戏研发的新引擎
语音控制化繁为简,让你在VR中的交互方式更自然
带上VR头显,转动头部寻找有效的文字信息,再控制手柄一一删选,确认最终选项,这是现阶段VR中最常见的一种交互方式,但操作复杂,且不方便,并不符合VR所想带给玩家的那种自然感与沉浸感。在VR交互方面,目
VRPinea
2018/05/16
2.1K0
微软首位华人“全球技术院士”黄学东:10个神经网络造就工程奇迹
【新智元导读】微软语音识别技术24年老将黄学东近日被评为“微软全球技术院士”,成功摘下这一微软技术的“桂冠”。 黄学东于1993年加入微软。1995年,黄学东最终把洪小文也拉入微软。黄学东还曾在Bing工作,一直跟随沈向洋博士。接受新智元的专访时,他谈到了去年微软对话语音识别词错率低至5.9%背后的故事。 同时,黄学东认为语音识别的下一个大难关是语义理解,目前看来最有希望的路线是 LSTM + Attention。 黄学东,微软语音识别技术 24 年老将,IEEE/ACM 双科院士,微软深度学习工具包CNT
新智元
2018/03/27
1.5K0
微软首位华人“全球技术院士”黄学东:10个神经网络造就工程奇迹
数字未来设计趋势|交互篇
回顾互联网发展历程,从桌面端拨号上网到高速5G的移动互联网,随时随地互联互通对现实生活的影响力也逐步提升,虚拟与现实的距离也逐渐缩小。未来数字世界在沉浸感、参与度、永续性等方面对体验提出了更高的要求。
晓吾
2022/04/28
8190
数字未来设计趋势|交互篇
微软和谷歌:宿命对手的 AI 竞赛
微软和谷歌都相信,未来将是人工智能的世界。这两家公司有不同的传统,也有差异化的竞争优势。而新一轮的人工智能产业竞赛,有一个显著的特点是各公司不再在同一个切入口角逐,而是基于自身在此前的发展中积累的优势,选择一个入口进军人工智能行业。那么微软和谷歌,它们到底打算怎么做? 未来,机器人就是应用程序,人工智能将会进入我们的生活,微软现任CEO萨蒂亚·纳德拉在今年的微软Build世界开发者大会上说。 这不由得让人想到微软对家用电脑的颠覆。微软在20世纪80年代凭借MS-DOS在家用电脑操作系统上崭露头角,成
新智元
2018/03/15
9690
微软和谷歌:宿命对手的 AI 竞赛
纷纷入局VR/AR的国内外零售巨头们,今年还好吗?
7月中旬,小编着重为大家介绍了零售巨头亚马逊在VR/AR方面的部分动作。例如,在印度开设11家VR快闪店,试水未来全新购物体验;在圣地亚哥国际动漫展上搭建5574平方米的场地,推出史上最大规模VR体验;以及其就VR+新零售的相关布局。
VRPinea
2018/09/28
6930
未来5-10年,NLP将走向成熟
近日,微软亚洲研究院(MSRA)副院长周明在「自然语言处理前沿技术分享会」上,与大家讲解了自然语言处理(NLP)的最新进展,以及未来的研究方向,以下内容由CSDN记者根据周明博士的演讲内容编写,略有删减。 周明博士于1999年加入微软亚洲研究院,不久开始负责自然语言研究组。近年来,周明博士领导研究团队与微软产品组合作开发了微软小冰(中国)、Rinna(日本)、Zo(美国)等聊天机器人系统。周明博士发表了120余篇重要会议和期刊论文(包括50篇以上的ACL文章),拥有国际发明专利40余项。 MSRA在机器翻
CSDN技术头条
2018/02/12
1.1K0
未来5-10年,NLP将走向成熟
人民日报开专版探讨VR:虚拟现实,风口与局限并存
选文 | kingswood 今日出版的人民日报开专版,探讨虚拟现实技术,用长文《虚拟现实,风口与局限并存》分析VR现状,刊发中国社会科学院工业经济研究所专家所作题为《在VR起跑线上争夺先发优势》的文
大数据文摘
2018/05/25
7150
开发 | MxNet李沐:机器学习简介——动手学深度学习0.1
AI科技评论注:本文作者为深度学习平台MxNet的作者李沐,文章由AI科技评论整理自作者的机器学习网站“动手学深度学习”。在这个网站中,李沐介绍了他做这个项目的初衷: 两年前我们开始了MXNet这个项目,有一件事情一直困扰我们:每当MXNet发布新特性的时候,总会收到“做啥新东西,赶紧去更新文档”的留言。我们曾一度都很费解,文档明明很多啊,比我们以前所有做的项目都好。而且你看隔壁家轮子,都没文档,大家照样也不是用的很嗨。 后来有一天,Zack问了这样一个问题:假设回到你刚开始学机器学习的时候,那么你需要什么
AI科技评论
2018/03/13
1.3K0
开发 | MxNet李沐:机器学习简介——动手学深度学习0.1
微软亚洲研究院副院长周明:微软的 NLP 帝国
【新智元导读】 微软几乎所有和 AI 相关的重要产品,背后都体现了 NLP 技术的重要性,这也是微软亚洲研究院深耕已久的领域。微软亚洲研究院副院长、ACL主席周明博士以《自然语言处理前沿技术》为主题,分享了微软对包括神经网络翻译、聊天机器人、阅读理解等板块在内的 NLP 领域的思考,并接受了新智元等媒体的采访。周博士指出,“语言智能是人工智能皇冠上的明珠”,他认为目前 NLP 技术的发展呈现出六大趋势,同时为大家阐述了未来的 NLP 技术的六大研究方向。 自然语言处理对于微软有多重要? 微软几乎所有和 AI
新智元
2018/03/28
1.3K0
微软亚洲研究院副院长周明:微软的 NLP 帝国
人工智能学习资料及其介绍
微软人工智能公开课 : https://docs.microsoft.com/zh-cn/learn
全栈工程师修炼指南
2022/09/29
7390
人工智能学习资料及其介绍
投融资汇总 | 本周(10.29-11.04)旷视科技创下AI融资金额新纪录
AI创企融资金额再创新高,3R(VR、AR、MR)融资事件比之上周有所增加。 本周硬科技领域投融资事件共36起,其中人工智能领域占比最多,共有23起融资事件;3R(VR/AR/MR)发生5起融资事件,新能源发生2起融资事件和1起收购事件,物联网有2起融资事件,而未来医疗、新材料、基因工程则分别有1起融资事件。 在本周人工智能领域的投融资事件中,最引人注意的是旷视科技获得了4.6亿美元的C轮融资,创下了AI创企融资额度的最新记录。与此同时,据相关知情人透露,依图科技也获得了新一轮融资,不过,因为这一消息还未得
镁客网
2018/05/30
6320
Gamescom 2018|德国科隆游戏展首日,NVIDIA等大厂VR/AR动态频发
硬件厂商NVIDIA、戴尔、Psychsoftpc,以及游戏厂商暴雪、Wargaming、索尼、网易等,均带来VR/AR相关新品/游戏体验。
VRPinea
2018/09/28
7650
【AGI-Eval行业动态】OpenAI 语音模型三连发,AI 语音进入“声优”时代
美东时间 3 月 20 日,OpenAI 发布了三款全新语音模型,分别是自动语音识别模型(ASR) GPT - 4o Transcribe 和 GPT - 4o Mini Transcribe,以及语音合成模型(TTS) GPT - 4o Mini TTS。
AGI-Eval评测社区
2025/04/08
5800
【AGI-Eval行业动态】OpenAI 语音模型三连发,AI 语音进入“声优”时代
专访微软研究院俞栋:基于深度学习的语音识别及CNTK的演进
作为人工智能领域的一个重要方向,语音识别近年来在深度学习(Deep Learning)的推动下取得了重大的突破,为人机语音交互应用的开发奠定了技术基础。语音识别技术演进及实现方法、效果,既是语音识别从业者需要系统掌握的知识,也是智能化应用开发者应当了解的内容。日前,微软研究院首席研究员、《解析深度学习-语音识别实践》第一作者俞栋接受CSDN专访,深入解析了基于深度学习的语音识别的最新技术方向,和微软团队的实践心得,并对微软开源的深度学习工具CNTK的迭代思路做了介绍。 俞栋介绍了deep CNN、LFMMI
用户1737318
2018/06/06
6420
2021-2022 设计趋势ISUX报告·数字未来篇
背景 回顾互联网发展历程,从桌面端拨号上网到高速5G的移动互联网,随时随地互联互通对现实生活的影响力也逐步提升,虚拟与现实的距离也逐渐缩小。未来数字世界在沉浸感、参与度、永续性等方面对体验提出了更高的要求。本文将从虚拟世界的视角,对设计挑战和机遇进行总结和预测。 电影《头号玩家》里的“绿洲”描绘了一个庞大的虚拟数字世界,在这里人们用数字化身来控制、并相互竞争以提高自己的地位,这被视为未来虚拟世界该有的样子。不过目前落地概念是由Roblox在招股书里描述的8个关键词:身份,朋友,沉浸感,多样性,低延迟,
腾讯ISUX
2022/03/29
8940
2025语聊系统源码开发深度解析:WebRTC与AI降噪技术如何重塑语音社交体验
随着 5G 技术普及和 Z 世代社交需求升级,语音语聊系统源码 已从早期的简单语音群聊进化为融合实时互动、场景化服务的综合性平台。根据行业数据,2024 年国内语聊赛道同比增长 21%,海外市场如中东、东南亚等地的语音社交用户规模持续扩大。在技术实现层面,语音语聊系统开发需重点关注以下核心方向:
山东布谷科技_孙哥
2025/05/23
2630
2025语聊系统源码开发深度解析:WebRTC与AI降噪技术如何重塑语音社交体验
针对VR系统的虚拟环境操纵攻击
虚拟现实 (VR) 已进入人们的生活。 虽然围绕 VR 和特别是沉浸式 VR 的兴奋不断增加,但必须关注这些平台的安全性。 虽然对于安全研究人员来说,沉浸式 VR 需要安全是显而易见的,但在探索沉浸式对人的影响时,先前的工作并没有以系统的方式对其进行检查。 本文工作不仅创造和假设潜在的 VR 攻击,而且还实施它们。 此外,通过一项人类参与者欺骗研究说明,确实能够在物理空间中将 VR 用户移动到攻击者喜欢的位置,而无需他们的知识或同意。 希望这项工作能促进该领域未来的研究,尤其是因为沉浸式 VR 对其用户具有心理和生理影响。
CDra90n
2023/06/28
5700
针对VR系统的虚拟环境操纵攻击
物联网中语音和数据的财务价值
冰箱什么时候会像个收银机?这听起来似乎像是让你猜一个儿童谜语,但随着智能设备不断涌入市场,对于许多前瞻性企业来说,这些简单的词语准确地描述了物联网中实际且持续的收入策略。
亦非demo
2018/04/17
1.8K0
推荐阅读
相关推荐
AI语音大模型的使用
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档