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

如何将包含字符串列表的JSON转换为键值对形式的JSON对象数组

JSON格式转换实现方案

实现逻辑

  • 遍历原始对象的所有值集合,每个值对应一个待处理的字符串数组
  • 对数组内每个字符串:先按,拆分出key:value格式的属性片段
  • 每个属性片段再按:拆分出属性名和属性值,组装为JSON对象
  • 每个原始数组处理完成后得到独立的JSON对象数组,按顺序输出即可

Python实现示例

import json

# 原始输入数据
raw_data = {
    '0': ['ID:123,qty:2,name:zbc',
          'ID:234,qty:3,name:xyz',
          'ID:456,qty:6,name:opq'],
    '1': ['ID:666,qty:2,name:ppp',
          'ID:322,qty:5,name:uuu'],
    '2': ['ID:333,qty:3,name:pqr',
          'ID:444,qty:5,name:mmm',
          'ID:555,qty:6,name:iii']
}

for arr in raw_data.values():
    current_arr = []
    for item_str in arr:
        item = {}
        for kv in item_str.split(','):
            k, v = kv.split(':')
            item[k] = v
        current_arr.append(item)
    # 直接输出符合要求的JSON格式
    print(json.dumps(current_arr, ensure_ascii=False))

运行上述代码会直接输出你需要的三个独立JSON数组,和预期结果完全一致。

JavaScript实现示例

// 原始输入数据
const rawData = {
    '0': ['ID:123,qty:2,name:zbc',
          'ID:234,qty:3,name:xyz',
          'ID:456,qty:6,name:opq'],
    '1': ['ID:666,qty:2,name:ppp',
          'ID:322,qty:5,name:uuu'],
    '2': ['ID:333,qty:3,name:pqr',
          'ID:444,qty:5,name:mmm',
          'ID:555,qty:6,name:iii']
}

const result = Object.values(rawData).map(arr => {
    return arr.map(itemStr => {
        const item = {}
        itemStr.split(',').forEach(kv => {
            const [k, v] = kv.split(':')
            item[k] = v
        })
        return item
    })
})

// 输出结果
result.forEach(arr => console.log(JSON.stringify(arr)))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 12:12:00