2011-08-05 4 views
1

에 수출 사전 (배열) 그래서 같은 사전의 배열을 가지고 :파이썬 JSON

myDict[0] = {'date':'today', 'status': 'ok'} 
myDict[1] = {'date':'yesterday', 'status': 'bad'} 

나는 각 사전이 자신의 항목에있는 JSON 파일이 배열을 수출하기 위해 노력하고있어. 그것은 분명히 내 JSON 파서 (protovis) 이후 법적 JSON되지 않은 각 항목

{"0": {"date": "today", "status": "ok"}, "1": {"date": "yesterday", "status": "bad"} } 

전에 번호 접두사와 JSON 파일을 출력

dump(myDict, open("test.json", "w")) 

: 나는 실행하려고하면 문제는 내게 오류 메시지를주는

아이디어가 있으십니까? 감사합니다.

+5

'ok'는 (는) 유효한 JSON이 아닙니다. ''ok ''여야합니다. 그 오류가 오타가 아니라 오타가 었는지 확인하십시오. –

+0

덕분에 오타되었습니다 – David

답변

4

사전 대신 목록을 사용하십시오. 당신은 아마 사용 :

myDict = {} 
myDict[0] = {...} 

당신은 사용해야

myList = [] 
myList.append({...} 

P.S이 : 그것은 어쨌든 나에게 유효한 JSON을 보이지만, 객체가 아닌 목록입니다;

[ 
    { 
     "date": "today", 
     "status": "ok" 
    }, 
    { 
     "date": "yesterday", 
     "status": "bad" 
    } 
] 

입니다 : 어쩌면이 사전의 배열이 더 이런 식으로 직렬화 것 또한

, 당신의 파서가

+0

왜 내가 원하는지 모르겠지만 사전 (파이썬과 JSON 모두)을 숫자로 색인화하는 것이 완전히 유효해야합니다. –

+0

물론, json으로 직렬화 할 때 목록이 아닌 객체가 생성됩니다. – GaretJax

+0

그가 원하는 일이 아닐 수도 있습니다. 그러나 그것은 유효합니다. –

0

당신은 JSON 시리얼 라이저를 사용합니다 불평하는 이유는 ...입니다 JavaScript 배열을 사용해야합니다.