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

如何实现JSON对象转name-value键值对及CSV转键值对JSON

两类格式转换实现方案

1. CSV转换为键值对结构JSON

以下为Python实现方案,依赖标准库无需额外安装:

import csv
import json

def csv_to_json(csv_file_path, json_file_path):
    # 读取CSV文件,默认取首行作为键名
    with open(csv_file_path, mode='r', encoding='utf-8') as csvf:
        csv_reader = csv.DictReader(csvf)
        data = list(csv_reader)
    
    # 写入键值对结构JSON
    with open(json_file_path, mode='w', encoding='utf-8') as jsonf:
        json.dump(data, jsonf, ensure_ascii=False, indent=4)

# 调用示例
csv_to_json("输入文件路径.csv", "输出文件路径.json")

说明:如果CSV没有表头,可给csv.DictReader传入fieldnames参数自定义键名

2. 现有JSON转换为name/value键值对格式

注意:你给出的预期输出外层用大括号包裹多个对象属于不合法JSON格式,以下实现会输出符合语法规范的数组格式,若需要非标准的输出样式可自行调整写文件逻辑。

待转换JSON示例

[
  {
    "emailAddress": "Trest22@gmail.com",
    "loginName": "Testinguser222",
    "firstName": "Test222",
    "surName": "Test22",
    "primaryPhone": "",
    "companyId": 123445,
    "extracompanies": "[12311,33333]",
    "middleName": "Test",
    "mobilePhone": 6666666666,
    "fax": 87687687686
  }
]

实现代码(Python)

import json

def transform_json(input_json_path, output_json_path):
    # 读取原始JSON
    with open(input_json_path, mode='r', encoding='utf-8') as f:
        raw_data = json.load(f)
    
    result = []
    # 遍历所有原字段,拆分生成name/value结构
    for item in raw_data:
        for key, value in item.items():
            result.append({
                "name": key,
                "value": value
            })
    
    # 输出转换后的JSON
    with open(output_json_path, mode='w', encoding='utf-8') as f:
        json.dump(result, f, ensure_ascii=False, indent=4)

# 调用示例
transform_json("输入文件路径.json", "输出文件路径.json")

转换后合法输出示例

[
    {
        "name": "emailAddress",
        "value": "Trest22@gmail.com"
    },
    {
        "name": "loginName",
        "value": "Testinguser222"
    },
    {
        "name": "firstName",
        "value": "Test222"
    },
    {
        "name": "surName",
        "value": "Test22"
    },
    {
        "name": "primaryPhone",
        "value": ""
    },
    {
        "name": "companyId",
        "value": 123445
    },
    {
        "name": "extracompanies",
        "value": "[12311,33333]"
    },
    {
        "name": "middleName",
        "value": "Test"
    },
    {
        "name": "mobilePhone",
        "value": 6666666666
    },
    {
        "name": "fax",
        "value": 87687687686
    }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 20:36:02