Разбор встроенного объекта (JSON) в упорядоченный словарь в Python - PullRequest
0 голосов
/ 06 июня 2019

Я хочу проанализировать часть JSON в словаре, но необходимо сохранить порядок для одной конкретной части словаря.

Я знаю, что могу разобрать весь файл JSON в упорядоченном словаре (например, Могу ли я получить JSON для загрузки в OrderedDict? ), но это не совсем то, что я ищу.

{
    "foo": "bar",
    "columns":
    {
        "col_1": [],
        "col_2": []
    }
}

В этом примере я хотел бы проанализировать весь файл как словарь с частью "столбцов", равной OrderedDict. Можно ли получить это гранулярно с помощью инструментов синтаксического анализа JSON, гарантируя, что порядок сохраняется во всем? Спасибо!

1 Ответ

0 голосов
/ 06 июня 2019

Тем временем из комментариев я понял, что полный, вложенный OrderedDict тоже подойдет, но это тоже может быть решением, если вы не возражаете использовать некоторые знания об именах столбцов:

import json
from collections import OrderedDict

def hook(partialjson):
    if "col_1" in partialjson:
        return OrderedDict(partialjson)
    return dict(partialjson)

result = json.loads("YOUR JSON STRING", object_hook=hook)

Надеюсь, это поможет!

...