J'ai rencontré un problème très étrange: j'utilise json.dump pour écrire un fichier, puis j'utilise json.load pour lire le fichier.comment utiliser json sur mac os
Le même code peut fonctionner réussir sur Windows 7, mais il ne peut pas faire sur mac os x 10,7 Voici le code:
class Result:
def __init__(self,name,result):
self.name = name
self.result = result
def __repr__(self):
return 'Result name : %s , result : %s' % (self.name,self.result)
class MyEncoder(json.JSONEncoder):
def default(self,obj):
#convert object to a dict
d = {'CaseResult':{}}
d['CaseResult'][obj.name] = obj.result
return d
def save(name,result):
filename = 'basic.json'
obj = Result(name,result)
obj_json = MyEncoder().encode(obj)
with open(filename, mode='ab+') as fp:
json.dump(obj_json,fp)
s=json.load(fp)
save('aaa','bbb')
dans mac os, il donne une erreur « ValueError: NO objet JSON pourrait être décodé " qui peut me dire pourquoi cela arrive et comment puis-je le résoudre
Publiez votre JSON. Si le même fichier fonctionne sur Windows et pas sur MacOS, ma première estimation serait un problème d'encodage de caractères. – Hansi
S'il vous plaît poster votre code Python en retrait. Pour le moment, ce n'est pas un Python valide. –
Ce problème n'est pas un problème Mac OS X. Votre code initial renvoie la même erreur sous Ubuntu. –