Запрос вложенных объектов JSON в SQL Server - PullRequest
0 голосов
/ 02 сентября 2018

Допустим, у меня есть этот объект JSON и иерархия такого рода, сохраненные в каждой строке таблицы в некотором столбце.

{
    "A": {
        "const-key-name": "AAAAAA",
        "B": {
            "const-key-name": "BBBBBB"
        },
        "C": {
            "const-key-name": "CCCCCCCC"
            "D": {
                "const-key-name": "DDDDDDD"
            },
            "E": {
                "const-key-name": "EEEEEEE"
                "F": {
                    "const-key-name": "FFFFFFF"
                }
            }
        }
}

Для каждого ключа в моей иерархии JSON у меня есть известный в расширенном ключе ключ const-key-name, а у каждого другого ключа, который может быть в нем, есть неизвестное имя (т.е. я не знаю, что C будет иметь 2 ключи с именами D и E).

Учитывая путь в иерархии, я пытаюсь запросить его 'children const-key-name, в основном используя функцию OPENJSON SQL Server.

Например, если задан путь $.A.C, возвращаемая таблица будет иметь 2 строки, каждая из которых содержит const-key-name значение D и E.

На мой взгляд, запрос должен состоять из 2 частей:

  1. Получение ключей, расположенных в $.A.C
  2. Выбор каждой клавиши и значение const-key-name при $.A.C.D/E

, который должен выглядеть примерно так:

key        |      value

D                 DDDDDDD
E                 EEEEEEE

У меня нет проблем с извлечением ключей, но запрос каждого значения const-key-name в одну таблицу является проблемой для меня. Я был бы рад услышать другие идеи, если вы считаете, что мой подход к этой проблеме неправильный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...