gpt4 book ai didi

python - 将 json 文本作为命令行参数传递

转载 作者:行者123 更新时间:2023-11-28 17:14:35 25 4
gpt4 key购买 nike

我正在尝试将以下 JSON 文本传递到我的 python 代码中。

{"platform": "android", "version": "6.0.1"}

我的代码如下。

import sys
import json
data = json.loads(sys.argv[1])
print(str(data))

在 Windows 10 PowerShell 上运行以下命令时,

python jsonTest.py '{"platform": "android", "version": "6.0.1"}'

我得到以下信息:

Traceback (most recent call last):
File "jsonTest.py", line 3, in <module>
data = json.loads(sys.argv[1])
File "C:\Users\Rishabh Bhatnagar\AppData\Local\Programs\Python\Python36-
32\lib\json\__init__.py", line 354, in loads
return _default_decoder.decode(s)
File "C:\Users\Rishabh Bhatnagar\AppData\Local\Programs\Python\Python36-
32\lib\json\decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Users\Rishabh Bhatnagar\AppData\Local\Programs\Python\Python36-
32\lib\json\decoder.py", line 355, in raw_decode
obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double
quotes: line 1 column 2 (char 1)

据我所知,我使用了我的代码,并正确地传递了 JSON 文本。我不知道我做错了什么。我知道 JSON 文本是有效的(使用 https://jsonlint.com/ 检查)。谢谢。

最佳答案

所以我想通了。

sys.argv[1]

上面一行是在下面提取我的 Json 文本并从中取出引号。

{"platform": "android", "version": "6.0.1"}

进入

{platform: android, version: 6.0.1}

我的解决方法是按如下方式运行它。

Python jsonTest.py '{\"platform\": \"android\", \"version\": \"6.0.1\"}'

我会尝试找到更好的方法,但今天,我已经完成了。

关于python - 将 json 文本作为命令行参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45069200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com