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

Python新手求助:如何将对象列表转换为JSON数组

解决Python中LAS版本信息转指定JSON格式的问题

嘿,作为Python新手碰到这种数据转换需求完全没问题,我来一步步教你怎么实现!

首先,我们需要把las.version里的每个对象提取对应的属性,然后构造符合要求的JSON结构。具体步骤如下:

步骤1:导入必要的模块

我们需要Python内置的json模块来生成最终的JSON字符串:

import json

步骤2:遍历并转换数据

遍历las.version中的每个元素,把每个元素的属性映射到目标字典的键上,然后收集到列表中:

# 初始化存储版本信息的列表
version_information = []

# 遍历las.version的每个对象
for val in las.version:
    # 构造单个版本信息的字典
    version_item = {
        "mnemonic": val.mnemonic,
        "unit": val.unit if val.unit else "",  # 如果unit为空则设为空字符串
        "value": str(val.value),  # 确保value是字符串类型,匹配示例格式
        "description": val.descr
    }
    # 添加到列表中
    version_information.append(version_item)

# 构造最终的JSON结构
result = {
    "versionInformation": version_information
}

步骤3:生成格式化的JSON字符串

用json.dumps()把结果转成易读的JSON格式:

# 生成带缩进的JSON字符串,indent参数控制缩进空格数
json_result = json.dumps(result, indent=4)
print(json_result)

示例输出

运行上面的代码后,你会得到和你期望一致的JSON格式:

{
    "versionInformation": [
        {
            "mnemonic": "VERS",
            "unit": "",
            "value": "1.2",
            "description": "some description"
        },
        {
            "mnemonic": "WRAP",
            "unit": "",
            "value": "NO",
            "description": "another description"
        }
    ]
}

小提示

  • 如果val.value本身就是字符串类型,那str()转换可以省略;如果是数字类型,转成字符串能保证和示例格式一致。
  • 如果val.unit本身就可能是空值,那val.unit if val.unit else ""可以确保键unit始终有值(空字符串),符合目标JSON的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:23:37