讲师中心 微信公众号
AI工具推荐 视频效率加速

如何在 Vue 应用中将 JSON 字符串字段安全转换为数组用于遍历渲染

雨宇君_2693

雨宇君_2693

发布时间:2026-07-31 16:29:39

|

611人浏览过

|

来源于php中文网

原创

如何在 Vue 应用中将 JSON 字符串字段安全转换为数组用于遍历渲染

本文介绍如何在 Vue 中将 API 返回的逗号分隔字符串(如 "English,Biology")动态转为数组,以便配合 v-for 正确渲染多个独立元素,避免手动修改原始数据,兼顾可维护性与响应式兼容性。

本文介绍如何在 vue 中将 api 返回的逗号分隔字符串(如 `"english,biology"`)动态转为数组,以便配合 `v-for` 正确渲染多个独立元素,避免手动修改原始数据,兼顾可维护性与响应式兼容性。

在 Vue 开发中,当后端返回的 JSON 数据将多值字段以逗号分隔字符串形式(如 "subjects": "English,Biology")提供时,直接在模板中使用 v-for 遍历该字符串会导致每个字符被单独渲染——这显然不符合业务需求。理想做法是将其转为字符串数组 ["English", "Biology"],再进行结构化渲染。

最推荐、最符合 Vue 最佳实践的方案是在模板中通过方法调用完成即时转换,而非在 mounted 钩子中批量修改原始响应数据。这样既保持了数据源的纯净性,又确保了响应式系统能正确追踪依赖(尤其在后续数据更新时不会丢失转换逻辑)。

具体实现如下:在 <script> 的 methods 选项中定义一个纯函数式工具方法:

export default {
  data() {
    return {
      employees: []
    }
  },
  methods: {
    // 安全分割字符串:支持空字符串、null/undefined 输入
    splitSubjects(subjectsStr) {
      if (!subjectsStr || typeof subjectsStr !== 'string') {
        return []
      }
      return subjectsStr.split(',').map(item => item.trim()).filter(item => item)
    }
  },
  mounted() {
    fetch('http://localhost:3000/employees')
      .then(res => {
        if (!res.ok) throw new Error(`HTTP error! status: ${res.status}`)
        return res.json()
      })
      .then(data => {
        this.employees = data.employees || []
      })
      .catch(err => console.error('Failed to load employees:', err))
  }
}

然后在 <template> 中直接调用该方法进行遍历:

Revealjs Presentations
Revealjs Presentations

创建、编辑并部署 reveal.js 演示文稿为单个 HTML 文件,可选自定义 CSS。适用于需要制作演示文稿、幻灯片或宣传材料时使用。

下载

立即学习前端免费学习笔记(深入)”;

<template>
  <div v-for="employee in employees" :key="employee.id">
    <h3>{{ employee.first_name }}</h3>
    <ul>
      <li v-for="subject in splitSubjects(employee.subjects)" :key="subject">
        {{ subject }}
      </li>
    </ul>
  </div>
</template>

优势说明

  • 响应式友好:splitSubjects 作为计算型方法,每次 employee.subjects 变化时自动重新执行,无需额外 watch;
  • 健壮性强:内置空值校验与空白字符清理(.trim())及空项过滤(.filter(item => item)),避免渲染 ["English", "", "Biology"] 类异常;
  • 解耦清晰:原始 employees 数据保持原始结构,便于调试、缓存或二次处理;
  • 复用方便:同一方法可被多个字段或组件复用(如处理 tags、roles 等同类字段)。

⚠️ 注意事项

  • 避免在 v-for 中直接写 employee.subjects.split(',') —— Vue 模板中不支持复杂表达式,且无法处理异常;
  • 若需在 JS 逻辑中多次使用数组形式(如搜索、过滤),可考虑使用 computed 属性封装预处理后的员工列表,但对简单展示场景,方法调用已足够高效;
  • 后端长期建议优化:理想情况下,API 应直接返回标准数组格式 subjects: ["English", "Biology"],前端不应承担数据结构修复职责。

通过这一轻量级方法封装,你无需改动现有 API 或重构数据流,即可立即实现语义清晰、稳定可靠的多值字段渲染。

热门AI工具

更多
SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

1955

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2622

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

916

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2919

2025.09.10

ajax教程
ajax教程

php中文网为大家带来ajax教程合集,Ajax是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。php中文网还为大家带来ajax的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2300

2023.06.14

ajax中文乱码解决方法
ajax中文乱码解决方法

ajax中文乱码解决方法有设置请求头部的字符编码、在服务器端设置响应头部的字符编码和使用encodeURIComponent对中文进行编码。本专题为大家提供ajax中文乱码相关的文章、下载、课程内容,供大家免费下载体验。

340

2023.08.31

ajax传递中文乱码怎么办
ajax传递中文乱码怎么办

ajax传递中文乱码的解决办法:1、设置统一的编码方式;2、服务器端编码;3、客户端解码;4、设置HTTP响应头;5、使用JSON格式。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2133

2023.11.15

ajax网站有哪些
ajax网站有哪些

使用ajax的网站有谷歌、维基百科、脸书、纽约时报、亚马逊、stackoverflow、twitter、hacker news、shopify和basecamp等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1121

2024.09.24

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

0

2026.09.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
uni-app快速上手
uni-app快速上手

共0课时 | 0人学习

Vue 教程
Vue 教程

共42课时 | 16.7万人学习

Vue3.x 工具篇--十天技能课堂
Vue3.x 工具篇--十天技能课堂

共26课时 | 2.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn