尝试将两个词典加载为JSON文件,但无法加载到第二个文件中

时间:2017-05-01 03:46:23

标签: python json python-2.7 dictionary

我有两个JSON文件,我试图在python中加载

queue.json

[
    ["Person 1", "B"],
    ["Person 2", "C"],
    ["Person 3", "A"],
    ["Person 4", "B"],
    ["Person 5", "C"],
]

和stock.json

 {
   "A": 5, 
   "B": 3, 
   "C": 10
 }

我正在使用此代码加载库存文件

 import json

 # Load the stock file.
 stock = json.load(open("stock.json"))

但当我使用此代码加载队列文件时,它表示没有JSON对象可以编码:

 import json
 # Load the queue file.

 queue = json.load(open("queue.json"))

2 个答案:

答案 0 :(得分:1)

问题是JSON文件的内容。尝试将queue.json更改为

[
    {"B":"Person 1"},
    {"C":"Person 2"},
    {"A":"Person 3"},
    {"B":"Person 4"},
    {"C":"Person 5"}
]

答案 1 :(得分:1)

这是无效的json:

[
    ["Person 1", "B"],
    ["Person 2", "C"],
    ["Person 3", "A"],
    ["Person 4", "B"],
    ["Person 5", "C"],
]

问题是列表中的尾随逗号。一种解决方案是使用yaml代替。 yamljson的超集,并接受逗号。

import yaml
queue = yaml.load(open(""queue.json"))