Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Json, почему лыжи не едут?  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1102
Добрый день,

Надо вытащить данные из json файла, ниже пример. Все поля кроме "comment" - пустые. Не могу понять почему. :(


DECLARE @json NVARCHAR(MAX)
SET @json = 
N'[
  {
    "key": {
      "pIden": "abc2.3",
      "stdId": 1234541
    },
    "stdSRN": "TEMP1234541",
    "domainId": 1,
    "threadId": 31,
    "levelId": 225,
    "parentIdentifier": "NNA2",
    "sclCode": 88888,
    "recordedTime": "2019-05-20T14:42:32.194",
    "recorderType": "BestOnline",
    "recorderName": "BL",
    "recorderId": 1,
    "comment": "Q17: a. says ''cat''. Comment: test v1 dev merge post assessment.",
    "resourceId": null,
    "recordLevel": 2,
    "lodgementToken": "05dded28-e3405b17cc94",
    "historyCount": 0,
    "progressionIndicatorId": 1595,
    "sclYear": "K",
    "pIden": "abc2.3"
  }
  ]'

  
print @json 

select ISJSON(@json)


select * from 
 OPENJSON(@json)
	WITH(p_Iden varchar(255) '$.p_Iden', 
	[std_id] [bigint] '$.std_id',
	[stdsrn] [varchar](255) '$.stdsrn', 
	[comment] [varchar](2000) '$.comment', 
	[domain_id] [bigint] '$.domain_id', 
	[level_id] [bigint] '$.level_id', 
	[lodgement_token] [varchar](255) '$.lodgement_token', 
	[parent_identifier] [varchar](255) '$.parent_identifier', 
	[record_level] [int] '$.record_level',
	[recorded_time] [datetime2](7) '$.recorded_time', 
	[recorder_id] [bigint] '$.recorder_id', 
	[recorder_name] [varchar](255) '$.recorder_name', 
	[recorder_type] [int] '$.recorder_type', 
	[resource_id] [bigint] '$.resource_id',
	[scl_code] [bigint] '$.scl_code', 
	[thread_id] [bigint] '$.thread_id', 
	[history_count] [int] '$.history_count',
	[progression_indicator_id] [bigint] '$.progression_indicator_id',
	[scl_year] [varchar](3)'$.scl_year',
	[std_group] [varchar](80) '$.std_group'
	);
22 май 19, 08:09    [21890223]     Ответить | Цитировать Сообщить модератору
 Re: Json, почему лыжи не едут?  [new]
Посетитель
Member

Откуда:
Сообщений: 1209
Roust_m,

как минимум, case sensitive
22 май 19, 08:23    [21890234]     Ответить | Цитировать Сообщить модератору
 Re: Json, почему лыжи не едут?  [new]
Посетитель
Member

Откуда:
Сообщений: 1209
stdSRN != stdsrn
а domain_id != domainId и подавно
ну и т.д.
22 май 19, 08:24    [21890235]     Ответить | Цитировать Сообщить модератору
 Re: Json, почему лыжи не едут?  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1102
Посетитель
stdSRN != stdsrn
а domain_id != domainId и подавно
ну и т.д.


Спасибо! Не выспался я видно сегодня. Имена столбцов взял из таблицы куда собрался заливать данные, а в json они оказались немного другими.
22 май 19, 08:26    [21890237]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить