微信小程序在rich-text組件後開始支持富文本解析,但須要對照一套自定義規則的 JOSN 數據格式,API 返回的富文本須要前端作數據轉換。html
這個主要是用於某些須要 API 直接輸出富文本的地方。好比後端輸出title字段, 但 title 字段中有加劇提示的幾個文字是須要標紅的。前端
這種狀況下後端若是不返回富文本,前端去在小程序去處理是比較麻煩的,還得定個規則,前端再寫好樣式拼接起來。若是後端直接給你返回富文本,用這個去解析能夠直接搞定。node
如官網給的例子:git
如何才能將 HTML 轉爲微信小程序組件支持的數據格式呢?github
html2json 是一個將 HTML 解析爲對應的 json 格式但 html2json 庫轉換出來的 JSON 與微信小程序要求不一致,且不支持解析 style,故在此庫的基礎上作的了擴展與調整。json
使用方法:小程序
import html2json from 'wxapp-rich-text'; // 或者下載該倉庫 import html2json from './your/path/index.js'; const html = '<div id="this-id" class="this-class">sample<br/>text<h2 style="color: red;font-size:48rpx;">sample text</h2></div>'; const json = html2json(html); this.setData({ nodes: json, });
源碼見Github: https://github.com/treadpit/w... 後端
目前只測試了一些簡單的例子,以下圖:微信小程序