Python 突然不在 MAC OS X 上读取 json 文件

标签 python json macos

所以我在我的 macbook 上用 python 读取 json 文件时遇到了问题。这个问题很奇怪,因为直到几分钟前我才能够读取 json 文件。当我将 xcode 中的旧 json 文件更改为新的 json 文件时发生这种情况,见下文,有人可以帮我吗?

旧的 JSON 文件:

{
    "service 1” : {
        {
            "name" : "service 1"
        },
    }
    "service 2" : {
        {
            "name" : "service 2"
        }
    }
}

新的 JSON 文件:

{
    "services” : [
        {
            "name" : "service 1"
        },
        {
            "name" : "service 2"
        }
    ]
}

以下 python 脚本无法读取上述两个 json 文件:

import json

print "Running services: "

with open('service_list.json') as service_file:
    service_list = json.load(service_file)
    print(service_file);

运行脚本时出现如下错误:

Running services: Traceback (most recent call last): File "update_checker.py", line 6, in service_list = json.load(service_file) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/init.py", line 290, in load **kw) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/init.py", line 338, in loads return _default_decoder.decode(s) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 366, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 382, in raw_decode obj, end = self.scan_once(s, idx) ValueError: Invalid control character at: line 2 column 22 (char 23)

谁能告诉我这是怎么回事? 提前致谢!

最佳答案

您有智能引号(或者如其他人所说,某种类型的基于 unicode 的引号)。你需要有常规的双引号。查看 services 的结尾引号:

{
    "services” : [
        {
            "name" : "service 1"
        },
        {
            "name" : "service 2"
        }
    ]
}

需要成为:

{
    "services" : [
        {
            "name" : "service 1"
        },
        {
            "name" : "service 2"
        }
    ]
}

关于Python 突然不在 MAC OS X 上读取 json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46675283/

相关文章:

python - 15 分钟内从 pandas Dataframe 到 dataframe 时间序列 Bins by sum rows

python - LXML - 排序标签顺序

python - 使用 Scrapy 从文本中删除 <u> 字符

java - jackson 根据值(value)忽略序列化字段

java - 将 Firestore 数据加载到 json 中

macos - ld : library not found for -lcrt1. 10.6.o 在 OS Mavericks 上运行 Intel icc 编译器后

ubuntu - 在 ubuntu 笔记本电脑上启动 RMI 服务器

python - 如何修复Python中小数的错误?

javascript - 具有 Backbone 模型的非 RESTful HTTP POST?

python - UserWarning : Starting from version 2. 2.1,macOS 发行轮中的库文件由 Apple Clang (Xcode_8.3.3) 编译器构建