2017-01-26 3 views
0

私はこのようなJSON値を持っているし、SQL Serverでそれを照会する:SQL Serverの解析JSON値

declare @buffer nvarchar(max)={"request": {"user-agent": "Mozilla/5.0" } } 

私たちのJSONのプロパティでの特殊な値のため、ということを検索し、見つかりました「」

を使用することができますが、それはここで

select json_query(@buffer,'$.request."user-agent"') 

それが動作中でユーザーエージェントのような第二およびネストされたレベルのために動作しない場合は、このようなJSON値:

このレベルで
select json_query(@buffer,'$."req-uest"') 

ではなく:

declare @buffer nvarchar(max)='{"request": {"user-agent": "Mozilla/5.0" } }' 

select json_query(@buffer,'$.request."user-agent"') 
+0

まだ回答なし? –

答えて

1

あなたは、単一の値ではなく、配列やオブジェクトを返しているので、あなたの代わりにJSON_QUERYJSON_VALUEを使用する必要があります。

select json_value(@buffer,'$.request."user-agent"')