2017-05-08 13 views
0

文字列ではなく数字であるネストされたJSONオブジェクトを解析しようとすると問題が発生しました。ここで私は、解析しようとしていているもの:文字の代わりに文字列名のネストされたJSONオブジェクトを解析するSQL Server 2016

Day": { 
    "Hour": { 
     "11": 5625.0751953125, 
     "10": 1369.0666503906, 
     "9": 20627.30078125, 
     "8": 2088.8942871094 
} 

select * 
from openjson(@json) 
WITH(day nvarchar(100) '$.Day', hour nvarchar(100) '$.Day.Hour.11') 

エラー:

Msg 13607, Level 16, State 4, Line 23
JSON path is not properly formatted. Unexpected character '1' is found at position 22.

番号で始まるオブジェクトを解析する方法がなければなりません。どんな助けもありがとう。ありがとうございました。

答えて

0

見つかりました。ありがとう!

JSONテキストに英数字以外の文字を含む参照キー 質問。私はJSONテキストのキーに英数字以外の文字を持っています。これらのプロパティはどのように参照できますか?+

回答。 JSONパスで引用符で囲む必要があります。例えば、

JSON_VALUE(@json、 '$。 "$情報"。 "名" .VALUE')

https://docs.microsoft.com/en-us/sql/relational-databases/json/solve-common-issues-with-json-in-sql-server

を削除します
関連する問題