python - экспорт словаря (массива) в json - PullRequest
1 голос
/ 05 августа 2011

У меня есть массив словарей, например, так:

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

, и я пытаюсь экспортировать этот массив в файл json, где каждый словарь является отдельной записью.Проблема в том, что я пытаюсь запустить:

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

Перед каждой записью выводится файл json с префиксом номера

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

, что, очевидно, не является допустимым json, так как мой анализатор json(protovis) дает мне сообщения об ошибках

Есть идеи?Спасибо

Ответы [ 2 ]

4 голосов
/ 05 августа 2011

Использовать список вместо словаря; Вы, вероятно, использовали:

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

Вы должны использовать:

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

П.С .: В любом случае, мне кажется, что json действителен, но это объект, а не список; возможно, это причина, по которой ваш парсер жалуется

0 голосов
/ 05 августа 2011

Вы должны использовать сериализатор JSON ...

Кроме того, массив словарей лучше сериализовать примерно так:

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

То есть вы должны просто использовать JavaScriptмассив.

...