2016-06-07 5 views
-1

JSON 파일을 DB 테이블로 가져 오기위한 Open JSON 기능이있는 SQL Server 2016을 사용하고 있습니다.SQL Server 2016에서 JSON 열기

나는 Excel에서와 같이 머리글과 값을 헤더 아래 행으로 사용하여 아래의 형식으로 Json을 가지고 있습니다.

헤더 값이 열이고 값이 인 행을 Cell_State 테이블로 만들어야합니다.

알려 주시기 바랍니다.

DECLARE @json NVARCHAR(MAX) = N'{ 
    "CELL_STATE" : { 

     "header" : [ 
     "Node", 
     "Logtime", 
     "Cell", 
     "Cell state", 
     "SectorCarrier state", 
     "SectorEquipmentFunction" 
     ], 

      "value" : [ 
       "LBI874", 
       "2016-06-02 07:05", 
       "L38741", 
       "UNLOCKED, DISABLED", 
       "SectorCarrier=1 DISABLED", 
       "SectorEquipmentFunction=1 fqband=7" 
      ], 

       "value" : [ 
       "LBI874", 
       "2016-06-02 07:05", 
       "L38742", 
       "UNLOCKED, DISABLED", 
       "SectorCarrier=2 DISABLED", 
       "SectorEquipmentFunction=2 fqband=7" 
      ] 
     } 

     }' 
+1

브라우저에서 F12 키를 누르고 주장 된 JSON을 콘솔에 붙여 넣어 유효성을 검사 할 수 있습니다. –

답변

2

귀하의 JSON는 당신이 첫 번째 값 블록 뒤에 쉼표를 놓치고, 유효하지 않습니다. 첫 번째 가치 블록 뒤에 쉼표가 누락되었습니다. 올바른 JSON은 다음과 같습니다.

{ 
    "CELL_STATE": { 

     "header": [ 
      "Node", 
      "Logtime", 
      "Cell", 
      "Cell state", 
      "SectorCarrier state", 
      "SectorEquipmentFunction" 
     ], 

     "value": [ 
      "LBI874", 
      "2016-06-02 07:05", 
      "L38741", 
      "UNLOCKED, DISABLED", 
      "SectorCarrier=1 DISABLED", 
      "SectorEquipmentFunction=1 fqband=7" 
     ], 

     "value": [ 
      "LBI874", 
      "2016-06-02 07:05", 
      "L38742", 
      "UNLOCKED, DISABLED", 
      "SectorCarrier=2 DISABLED", 
      "SectorEquipmentFunction=2 fqband=7" 
     ] 
    } 

} 

문제가 해결됩니다.

+0

요청하신대로 데이터베이스에 값을 저장하는 방법에 대해 조언 해 주실 수 있습니까? 감사합니다. 감사합니다. – user1046415

+0

2016 년에 JSON을 사용하여 열 이름과 값으로 헤더가있는 테이블에 데이터를 저장하고 싶습니다. .. – user1046415

0

당신 JSON이 유효 :

DECLARE @json NVARCHAR(MAX) = N'{ 
    "CELL_STATE" : { 

     "header" : [ 
     "Node", 
     "Logtime", 
     "Cell", 
     "Cell state", 
     "SectorCarrier state", 
     "SectorEquipmentFunction" 
     ], 

      "value" : [ 
       "LBI874", 
       "2016-06-02 07:05", 
       "L38741", 
       "UNLOCKED, DISABLED", 
       "SectorCarrier=1 DISABLED", 
       "SectorEquipmentFunction=1 fqband=7" 
      ] 

       "value" : [ 
       "LBI874", 
       "2016-06-02 07:05", 
       "L38742", 
       "UNLOCKED, DISABLED", 
       "SectorCarrier=2 DISABLED", 
       "SectorEquipmentFunction=2 fqband=7" 
      ] 
     } 

     }' 

SELECT * FROM OPENJSON(@json, '$') 
관련 문제