powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Каким условием отловить пустое значение в JSON строке?
5 сообщений из 5, страница 1 из 1
Каким условием отловить пустое значение в JSON строке?
    #40120944
Здравствуйте!

Обычно я на входе получаю JSON строку вида:
автор{ "result": {"Period":"Сформирован 17.12.2021 10:35 (v.1.29) использовать ТУ с признаком 'Отключен'","Period2":"За период c 01.07.2021 по 01.08.2021 ; Схема балансирования: Ввод в ПС/ТП -> Абоненты","Regions":"ТП-9 Ф-127 ПС \"Залукодес\" 35/10 кВ; ","Items":[{"Num":"1","PO":"Каббалкэнерго ПСП","RES":"Зольский РЭС","PS1":"ПС \"Залукодес\" 110/35/10 кВ","PS2VL":"Ф-127","TP":"Каббалкэнерго ПСП\\Зольский РЭС\\В Промышленной\\ТП-9 Ф-127 ПС \"Залукодес\" 35/10 кВ","TPCode":"0db06a9e-46ed-4032-83b3-ae7e0abea925","NumMeterPoints":1,"NumMeterPointsGathered":1,"NumConsumerMeterPoints":27,"NumConsumerMeterPointsGathered":0,"Income04":5272.7324,"ConsumerOutput":6019.734,"ErrorComment":"","guid":"cb08b47e-200f-4b4e-bd09-2fc4983e7c3d"}],"WorkTime":1621}}

Но бывает, что на входе получаю строку вида:
автор{ "result": , "debug1": "" , "debug2": "17.12.2021 10:44:59\tSetDebugExcelWorksheet\n17.12.2021 10:44:59\t; Схема балансирования: Ввод в ПС/ТП -> Абоненты\n17.12.2021 10:44:59\tНет элементов классификатора для отчета\n"}


Как мне проверить, что передо мной не стандартная JSON строка?
Думал проверять на IS NULL выражение вида JSON_VALUE(@ResponseText, N'$.result'), но оно почему-то и для нормального ответа из первого примера выдает NULL
...
Рейтинг: 0 / 0
Каким условием отловить пустое значение в JSON строке?
    #40120948
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
select isjson('{ "result":, "debug1": "" , "debug2": "17.12.2021 10:44:59\tSetDebugExcelWorksheet\n17.12.2021 10:44:59\t; Схема балансирования: Ввод в ПС/ТП -> Абоненты\n17.12.2021 10:44:59\tНет элементов классификатора для отчета\n"}')
...
Рейтинг: 0 / 0
Каким условием отловить пустое значение в JSON строке?
    #40120950
Konst_One,

спасибо! Помогло.

А почему JSON_VALUE(@ResponseText, N'$.result') выдает NULL для правильных строк JSON?
...
Рейтинг: 0 / 0
Каким условием отловить пустое значение в JSON строке?
    #40120961
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Борис Гаркун,

потому что у вас result содержит не скалярное значение а узел.

json_value - работает по скалярным значениям
json_query - по узлам.
...
Рейтинг: 0 / 0
Каким условием отловить пустое значение в JSON строке?
    #40120964
felix_ff, спасибо!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Каким условием отловить пустое значение в JSON строке?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]