如何将数据转换成json

如何将 ('0','expire','[iksˈpaiə]','vi. 满期,到期;断气'),('0','wield','[wi:ld]','vt. 挥(剑);行使(权利)'),('0','heater','[ˈhi:tə]','n. 加热器;炉子') 通过正则方法转换成JSON

{
    {id:'1',word:'expire',pronunciation:'[iksˈpaiə]',chinese:'vi. 满期,到期;断气'},
    {id:'2',word:'wield',pronunciation:'[wi:ld]',chinese:'vt. 挥(剑);行使(权利)'},
    {id:'3',word:'heater',pronunciation:'[ˈhi:tə]',chinese:'n. 加热器;炉子'},
}
阅读 2.4k
2 个回答
function transform(str) {
  const arr = str.match(/'[^]+?'/g);
  if (!arr) return [];
  const jsonArr = [];
  const keys = ['id', 'word', 'pronunciation', 'chinese'];
  let i, len;
  arr.forEach((item, index) => {
    i = index % 4;
    len = jsonArr.length;
    if (i === 0) {
      jsonArr.push({
        id: `${len + 1}`,
      })
    } else {
      jsonArr[len - 1][keys[i]] = item.slice(1, item.length - 1);
    }
  });
  return jsonArr;
}

为什么一定要正则,这个就是字符串处理。自己写个循环就好了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进