TSQL JSon Parse - PullRequest
       2

TSQL JSon Parse

0 голосов
/ 27 февраля 2012

У меня есть строка Json, как показано ниже. Я пытаюсь вставить ее в качестве значений строки в базу данных.так, например, здесь было бы две строки, вставленные в базу данных с 4 столбцами. Столбцы - это состояние, имя файла, mainpic, fullurl.мой JSON всегда будет форматироваться таким образом, поэтому не нужно беспокоиться о том, как он отформатирован

{"status":"success",
 "filename":"c3336eab-133d-4e78-ba9a-135152e0cddf.jpg",
 "mainpic":"true","fullurl":"../userimages/c3336eab-133d-4e78-ba9a-135152e0cddf.jpg"},
{"status":"success",
 "filename":"6dffc7f0-17e2-40c5-ab6d-c380697ae4d8.jpg",
 "mainpic":"true","fullurl":"../userimages/6dffc7f0-17e2-40c5-ab6d-c380697ae4d8.jpg"}

Ответы [ 2 ]

0 голосов
/ 09 мая 2014

Использование реализации SQLCLR является опцией.

http://jqsql.com/ источник доступен https://github.com/ercananlama/JQSQL

Немного измените ваш ввод и объявите его как массив json, передайте пустую строку в качестве второго аргумента, чтобы выбрать root.

EXEC jqsql.totable '[
{"status":"success",
 "filename":"c3336eab-133d-4e78-ba9a-135152e0cddf.jpg",
 "mainpic":"true",
 "fullurl":"../userimages/c3336eab-133d-4e78-ba9a-135152e0cddf.jpg"},
{"status":"success",
 "filename":"6dffc7f0-17e2-40c5-ab6d-c380697ae4d8.jpg",
 "mainpic":"true",
 "fullurl":"../userimages/6dffc7f0-17e2-40c5-ab6d-c380697ae4d8.jpg"}
 ]', ''

возвращает результирующий набор, подобный этому

status  filename                                 mainpic fullurl
------- ---------------------------------------- ------- ------------------------------------------------------
success c3336eab-133d-4e78-ba9a-135152e0cddf.jpg 1       ../userimages/c3336eab-133d-4e78-ba9a-135152e0cddf.jpg
success 6dffc7f0-17e2-40c5-ab6d-c380697ae4d8.jpg 1       ../userimages/6dffc7f0-17e2-40c5-ab6d-c380697ae4d8.jpg
0 голосов
/ 27 февраля 2012

В качестве отправной точки вы можете взглянуть на эту всеобъемлющую функцию синтаксического анализа T-SQL JSON ...

http://www.simple -talk.com / sql / t-sql-программирование / потребление-json-strings-in-sql-server /

Но так как ваш JSON довольно прост, возможно, стоит сделать урезанную версию для ваших нужд.

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