You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将数据库取出的数组结构字符串转换为可操作的数组

处理方案

你拿到的是经过HTML实体转义的JSON数组字符串,"是双引号"的HTML转义形式,按照「还原HTML转义→解析JSON」两步处理即可得到实际数组,不同开发场景的示例如下:

前端 JavaScript 场景

// 示例输入
const rawStr = '["1", "2"]';
// 1. 还原HTML转义(浏览器环境用法,Node环境可替换为对应转义库或直接替换")
const jsonStr = new DOMParser().parseFromString(rawStr, 'text/html').documentElement.textContent;
// 2. 解析为数组
const targetArr = JSON.parse(jsonStr);

console.log(targetArr); // 输出:['1', '2']
// 如需数字类型元素可自行转换:const numArr = targetArr.map(Number) 得到 [1,2]

后端 Python 场景

import html
import json

raw_str = '["1", "2"]'
# 1. 还原HTML转义
json_str = html.unescape(raw_str)
# 2. 解析为数组
target_arr = json.loads(json_str)

print(target_arr) # 输出:['1', '2']

后端 Java 场景

import org.apache.commons.text.StringEscapeUtils;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.List;

public class ConvertTest {
    public static void main(String[] args) throws Exception {
        String rawStr = "["1", "2"]";
        // 1. 还原HTML转义
        String jsonStr = StringEscapeUtils.unescapeHtml4(rawStr);
        // 2. 解析为数组
        ObjectMapper objectMapper = new ObjectMapper();
        List<String> targetArr = objectMapper.readValue(jsonStr, new TypeReference<List<String>>() {});
        
        System.out.println(targetArr); // 输出:[1, 2]
    }
}

注意事项

  • 如果字符串中除了&quot;还存在其他HTML转义字符(如&lt;、&amp;等),禁止使用手动替换的方式处理,务必使用对应语言官方的HTML转义还原方法避免解析异常。

内容的提问来源于stack exchange,提问作者TangoMan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 22:39:03