如何在python的JSON中应用多行字符串

时间:2019-03-19 11:51:23

标签: python json syntax multiline

我知道这个问题已经存在。

  

JSON中的多行字符串

但是,我无法对代码应用答案。

打击是数据

data = {

}

for title, number in zip(titles, numbers):
    data[title.text] = number.get('num'), number.get('count')

with open(os.path.join(BASE_DIR, 'name.json'), 'w+', encoding='UTF-8') as json_file:
    json.dump(data, json_file, ensure_ascii=False)

结果是

{"A": ["20018348", "81533"], "B": ["20018920", "81651"]}

然后我在其他.py上使用此JSON文件

with open('movie_name.json', encoding='UTF-8') as data_file:
    comepare_datasets = data_file.read()

要查看数据的存储方式,请进行测试

for comepare_dataset in comepare_datasets:
    print(comepare_dataset)

结果是

{
"
A
"
.
.
.
.
.

}

我是什么

{
    "A": {
        "num" : "1",
        "count" : "2"
    },
    "B": {
        "num" : "3",
        "count" : "4"
    }
}

因为我需要将名称(“ A”)与其他名称进行比较 如果有两个相同的东西,我想将movie_cd_group数据(“ 1”)存储到其他变量中

for comepare_dataset in comepare_datasets:
    if(comepare_dataset.text == title):
        temp_num = compare_dataset[num]
        break

1 个答案:

答案 0 :(得分:0)

您需要将文件解析为json(使用json.load / json.loads),而不仅仅是读取它。如果您仅读取文件,则会得到一个str的全部内容,并且如果对其进行迭代,则仅对单个代码点进行迭代。

顺便说一句,您的迭代不一定会起作用,因为Python仅迭代键上的字典(其他语言按(键,值)对迭代它们)。