當(dāng)前位置:首頁 > IT技術(shù) > 微信平臺(tái) > 正文

微信小程序調(diào)用json數(shù)據(jù)接口并解析
2021-07-28 12:22:39

開始寫js,用request請(qǐng)求接口url,當(dāng)請(qǐng)求成功的時(shí)候,在控制臺(tái)打印一下返回的res.data數(shù)據(jù),在控制臺(tái)可以看到打印了接口數(shù)據(jù)了,在請(qǐng)求接口成功之后,用setData接收數(shù)據(jù),并且需在data中聲明一個(gè)接收數(shù)據(jù)的變量。

Page({
  data: {
    list: []
  },
  onLoad: function (options) {

    wx.request({
      url: 'https://c.y.qq.com/v8/fcg-bin/fcg_v8_toplist_cp.fcg?g_tk=5381&uin=0&format=json&inCharset=utf-8&outCharset=utf-8?ice=0&platform=h5&needNewCode=1&tpl=3&page=detail&type=top&topid=27&_=1519963122923',
      header: {
        'content-type': 'application/json'
      },
      success: res => {
        console.log(res.data)
        this.setData({
          //第一個(gè)data為固定用法
          list: res.data
          
        })
      }
    })
  },

})
?
微信小程序調(diào)用json數(shù)據(jù)接口并解析_代碼
?

這個(gè)時(shí)候可以看到,應(yīng)用程序數(shù)據(jù)AppData里面,整個(gè)json數(shù)據(jù)全部都已經(jīng)放在了list集合里面了。


?
微信小程序調(diào)用json數(shù)據(jù)接口并解析_代碼_02
?

js寫完之后,現(xiàn)在開始寫wxml里面的內(nèi)容,將數(shù)據(jù)渲染在界面,這個(gè)我想重點(diǎn)的寫一下,因?yàn)閷?duì)于json的處理上是很重要的一個(gè)事情,很多人都會(huì)在解析json的時(shí)候出現(xiàn)這樣或者那樣的問題,導(dǎo)致頁面數(shù)據(jù)渲染不出來,達(dá)不到自己的預(yù)期效果。

1:取到songlist里面指定的值
比如說,我現(xiàn)在想把截圖里面紅色框框里面數(shù)據(jù)渲染到前端


?
微信小程序調(diào)用json數(shù)據(jù)接口并解析_代碼_03
?

在wxml里面寫代碼

<view>
{{list.songlist[2].data.albumdesc}}
</view>

這個(gè)時(shí)候,可以看到小程序界面,頁面已經(jīng)渲染出了自己想要的數(shù)據(jù)了。


?
微信小程序調(diào)用json數(shù)據(jù)接口并解析_代碼_04
?

2:想要把json里面的巔峰榜,新歌的數(shù)據(jù)和圖片渲染到頁面,道理其實(shí)是一樣的。

?
微信小程序調(diào)用json數(shù)據(jù)接口并解析_代碼_05
?

wxml:

<view>
  {{list.topinfo.ListName}}
  <image src="{{list.topinfo.MacDetailPicUrl}}" class='in-image'>
  </image>
</view>

渲染成功,顯示如下:


?
微信小程序調(diào)用json數(shù)據(jù)接口并解析_代碼_06
?

3:循環(huán)展示songlist的Array內(nèi)容(100首歌曲排名的api),這里沒寫布局頁面篇幅不夠我只展示了albumname的內(nèi)容,可以根據(jù)實(shí)際項(xiàng)目需要展示。


?
微信小程序調(diào)用json數(shù)據(jù)接口并解析_代碼_07
?

wxml

<view wx:for="{{list.songlist}}" wx:key="index"><!-- 取到songlist里面的內(nèi)容并且進(jìn)行循環(huán) -->
{{item.data.albumname}}
</view>

效果如下:


?
微信小程序調(diào)用json數(shù)據(jù)接口并解析_代碼_08
?

暫時(shí)不寫啦,明天繼續(xù)解析,下班先回家了,辦公室的人都已經(jīng)走光了,在繼續(xù)寫天黑了就不敢一個(gè)人回家了。

原文作者:祈澈姑娘?


本文摘自 :https://blog.51cto.com/u

開通會(huì)員,享受整站包年服務(wù)立即開通 >