使用Python解析JSON时,“模块”对象没有属性“加载”

我正在尝试从Python解析JSON。我最近开始使用Python,因此我跟随一些stackoverflow教程,了解如何使用Python解析JSON,并提出了以下代码-

#!/usr/bin/python

import json

j = json.loads('{"script":"#!/bin/bash echo Hello World"}')

print j['script']

但是,每当我运行上面的代码时,我总是会收到此错误-

Traceback (most recent call last):

File "json.py", line 2, in <module>

import json

File "/cygdrive/c/ZookPython/json.py", line 4, in <module>

j = json.loads('{"script":"#!/bin/bash echo Hello World"}')

AttributeError: 'module' object has no attribute 'loads'

有什么想法我在这里做错了吗?我在Windows中运行cygwin,仅从那里运行python程序。我正在使用Python 2.7.3

还有解析JSON的更好,有效的方法吗?

如果我删除单引号,则下面的代码不起作用,因为我从其他方法获取JSON字符串-

#!/usr/bin/python

import json

jsonStr = {"script":"#!/bin/bash echo Hello World"}

j = json.loads(jsonStr)

shell_script = j['script']

print shell_script

因此,在反序列化如何确保之前,它也具有单引号吗?

这是我得到的错误-

Traceback (most recent call last):

File "jsontest.py", line 7, in <module>

j = json.loads(jsonStr)

File "/usr/lib/python2.7/json/__init__.py", line 326, in loads

return _default_decoder.decode(s)

File "/usr/lib/python2.7/json/decoder.py", line 366, in decode

obj, end = self.raw_decode(s, idx=_w(s, 0).end())

TypeError: expected string or buffer

回答:

File "json.py", line 2, in <module>

import json

这行是一个赠品:您已将脚本命名为“ json”,但是您正在尝试导入名为“

json”的内置模块,因为您的脚本位于当前目录中,因此它首先出现在sys.path中,因此导入的模块。

您需要将脚本重命名为其他名称,最好不是标准python模块

以上是 使用Python解析JSON时,“模块”对象没有属性“加载” 的全部内容, 来源链接: utcz.com/qa/397448.html

回到顶部