This article mainly introduces the WeChat applet’s example of displaying json data to the applet through the API interface. The editor thinks it is quite good, so I will share it with you now and give it as a reference. Let’s follow the editor and take a look.
An important knowledge prerequisite for implementing Zhihu client is to know how to display data on the WeChat applet through the interface of Zhihu News.
So let’s first learn how to display the data obtained by the interface on the WeChat applet.
1. Knowledge points used
wx.request request interface resource (the request initiation part in the WeChat applet API)
swiper component to implement carousel chart
wx:for loop statement
Basic knowledge of WeChat applet
2. Implementation principle
First, let’s take a look at this request function
wx.request({ url: '******', //这里填写你的接口路径 header: { //这里写你借口返回的数据是什么类型,这里就体现了微信小程序的强大,直接给你解析数据,再也不用去寻找各种方法去解析json,xml等数据了 'Content-Type': 'application/json' }, data: {//这里写你要请求的参数 x: '' , y: '' }, success: function(res) { //这里就是请求成功后,进行一些函数操作 console.log(res.data) } })
3. Code
Exploded view
"date":"20161114", "stories":[ { "images":[ "http://jb51.net.com/76125c357aa7b0ca6c9cbc41b4a5326d.jpg" ], "type":0, "id":8975316, "ga_prefix":"111422", "title":"小事 · 我和你们一样" }, { "images":[ "http://jb51.net/7c908a5940384123fd88287dbc6a2c98.jpg" ], "type":0, "id":8977438, "ga_prefix":"111421", "title":"成长嘛,谁说就意味着一定要长大了?" },
Page({ data: { duration: 2000, indicatorDots: true, autoplay: true, interval: 3000, loading: false, plain: false }, onLoad: function () { var that = this//不要漏了这句,很重要 wx.request({ url: 'http://news-at.zhihu.com/api/4/news/latest', headers: { 'Content-Type': 'application/json' }, success: function (res) { //将获取到的json数据,存在名字叫zhihu的这个数组中 that.setData({ zhihu: res.data.stories, //res代表success函数的事件对,data是固定的,stories是是上面json数据中stories }) } }) } })
<view > <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" class="banners" interval="{{interval}}" duration="{{duration}}">//这里边的属性不重要,看下边 <block wx:for="{{zhihu}}"> <swiper-item class="banner" > <image src="{{item.image}}" data-id="{{item.b}}" bindtap="bindViewTap" class="banner-image" width="100%" height="100%"/> <text class="banner-title">{{item.title}}</text> </swiper-item> </block> </swiper> </view>