执行python脚本并传入json数据格式参数方式

Gaia ·
更新时间:2024-11-14
· 667 次阅读

目录

执行python脚本并传入json数据格式参数

python解析JSON数据

json模块包含以下两个函数

执行python脚本并传入json数据格式参数

最近在写一个python的数据统计分析脚本,需要根据json的数据格式参数去进行业务逻辑处理,出了一些情况拿出来一起分享讨论。一下代码纯属示例。

        

脚本类容很简单,接收一下参数,并使用json包进行一个加载解析。

执行脚本,传入一个json对象数组:

脚本接受到的内容:

json加载解析出错:

可以看到python脚本接收到参数的时候会将双引号剔除,然后该传入参数已经不符合json数据格式,导致转换失败。

解决办法,最外层使用单引号包裹:

可以看到参数成功传入并且成功被解析。

注意:此方法只能在Linux操作系统上成功,在Windows上测试依然失败,不知道原因,有了解的或者有更好的方法的欢迎评论。

Windows上测试结果:

python解析JSON数据

JSON(JavaScript Object Natation)是一种轻量级的数据交换格式,其基于ECMAScript的一个子集。Python中提供了json模块来对JSON数据进行编码和解码。

json模块包含以下两个函数

json.dumps():对数据进行编码

jsonloads():对数据进行解码

示例

import json data1 = { 'id': '001', 'name': '李华', 'date': '20220115' } json_str = json.dumps(data1) print("Python 原始数据:", data1, type(data1)) print("Python 原始数据:", repr(data1), type(repr(data1))) print("JSON 对象:", json_str, type(json_str))

程序运行结果:

关于repr()的解释,一种可以参考是说法是: 函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式。

data2 = json.loads(json_str) print("data2['name']:", data2["name"]) print("data2['id']:", data2["id"])

程序运行结果:

如果是处理json文件,则需要使用**json.dump()json.load()**来编码和解码JSON数据,代码如下:

# 写入数据 with open('data.json', 'w') as f: json.dump(data1, f) # 读取数据 with open('data.json', 'r') as f: data = json.load(f) print(data)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持软件开发网。



python脚本 json数据 JSON 参数 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号