Saya tahu pertanyaan ini sudah dijawab, tetapi saya tidak tahu di mana kesalahannya dalam kasus saya.

Ini kode saya:

import json

json_data = """
{
    'position1': '516, 440',
    'position2': '971, 443',
    'position3': '1186, 439',
    'position4': '1402, 441',
    'position5': '1630, 449',
    'position6': '299, 681',
    'position7': '518, 684',
    'position8': '736, 691',
    'position9': '739, 431'
}
"""
data = json.loads(json_data)
print(data)

Saya tidak benar-benar bekerja dengan file JSON, jadi tolong jangan salahkan saya jika itu benar-benar kesalahan.

0
programming_for_fun 29 Mei 2021, 01:13

3 jawaban

Jawaban Terbaik

Jangan gunakan triple quotes """. Alih-alih gunakan kamus dengan json.dumps() sehingga koma dalam nilai-nilai Anda tidak disalahtafsirkan sebagai koma antara item.

import json

json_data = {
    'position1': '516, 440',
    'position2': '971, 443',
    'position3': '1186, 439',
    'position4': '1402, 441',
    'position5': '1630, 449',
    'position6': '299, 681',
    'position7': '518, 684',
    'position8': '736, 691',
    'position9': '739, 431'
}

data = json.dumps(json_data)
print(data)
2
Paul Lemarchand 28 Mei 2021, 22:23

Coba yang ini

import json

json_data = {
    'position1': '516, 440',
    'position2': '971, 443',
    'position3': '1186, 439',
    'position4': '1402, 441',
    'position5': '1630, 449',
    'position6': '299, 681',
    'position7': '518, 684',
    'position8': '736, 691',
    'position9': '739, 431'
}

data = json.dumps(json_data)
print(data)
0
Geethika Wijesuriya 28 Mei 2021, 22:26

Jika Anda menggunakan penawaran triple, ini akan berhasil

json_data = json_data.replace("'", '"')

data = json.loads(json_data)
print(data)
1
Jonathan Leon 28 Mei 2021, 22:26