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

如何将[{admin=custom}]类非标准对象数组转为标准JSON对象数组?

非标准键值对数组转标准JSON的实现方法

下面提供几种主流编程语言的实现方案,帮你把非标准格式的数组转换成符合规范的JSON对象数组:

Python 实现

方案1:字符串替换+正则修正

通过字符串替换和正则表达式快速修正格式,再用JSON库解析:

import json
import re

original_str = "[{admin=custom}, {aa@g.com=1}, {main@gmail.com=free}]"

# 替换=为JSON格式的:
formatted_str = original_str.replace("=", ": ")
# 给键添加双引号:匹配{或,后的非等号字符
formatted_str = re.sub(r'([{,]\s*)([^\s=]+)', r'\1"\2"', formatted_str)
# 给值添加双引号:匹配:后的非}字符
formatted_str = re.sub(r':\s*([^\s}]+)', r': "\1"', formatted_str)

# 解析为JSON对象并输出标准格式
json_result = json.loads(formatted_str)
print(json.dumps(json_result, indent=2))

方案2:逐元素拆分解析

手动拆分每个键值对元素,逐个构建字典:

import json

original_str = "[{admin=custom}, {aa@g.com=1}, {main@gmail.com=free}]"

# 拆分出每个键值对项
items = original_str.strip('[]').split('}, {')
items = [item.strip('{}') for item in items]

result = []
for item in items:
    key, value = item.split('=')
    result.append({key: value})

# 生成标准JSON
print(json.dumps(result, indent=2))

JavaScript 实现

方案1:字符串正则处理

const originalStr = "[{admin=custom}, {aa@g.com=1}, {main@gmail.com=free}]";

let formattedStr = originalStr.replace(/=/g, ': ');
// 给键加双引号
formattedStr = formattedStr.replace(/([{,]\s*)([^=]+)/g, '$1"$2"');
// 给值加双引号
formattedStr = formattedStr.replace(/:\s*([^}]+)/g, ': "$1"');

// 解析并输出标准JSON
const jsonResult = JSON.parse(formattedStr);
console.log(JSON.stringify(jsonResult, null, 2));

方案2:数组遍历构建

const originalStr = "[{admin=custom}, {aa@g.com=1}, {main@gmail.com=free}]";

// 拆分每个键值对元素
const items = originalStr.slice(1, -1).split('}, {').map(item => item.replace(/[{}]/g, ''));

const result = items.map(item => {
    const [key, value] = item.split('=');
    return { [key]: value };
});

console.log(JSON.stringify(result, null, 2));

注意事项

  • 如果原数据的键或值包含=、{、}等特殊字符,需要调整正则或拆分逻辑,避免解析错误
  • 标准JSON要求使用双引号包裹键和字符串值,上述方案均会输出符合该规范的结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 22:10:26