REST API に渡された JSON オブジェクトがあります。特定の API が継承する汎用 API コントローラーを使用します。JSON.NET を使用して、JSON データの基本型 (文字列、整数、ブール値など) を特定しようとしています。次に例を示します。
Public Overridable Function PostValue(<FromBody()> record As JObject)
For Each thing As KeyValuePair(Of String, JToken) In record
MsgBox(thing.Key & ": " & thing.Value.ToString & " (" & thing.Value.Type & ")")
Next
'do other stuff and return some other stuff...
End Function
string
残念ながら、これはすべての JSON 値の型として返されるだけです。文字列値から JSON データ メンバーの基本型を解析する良い方法はありますか?
アップデート
JSON は Javascript として常に型付けされていないことを理解しています。また、JSON データが渡されるときは、常に JSON 文字列 (したがって型付きstring
) であることを知っています。JSON.NET (またはこの件に関しては他のライブラリ) に、この JSON 文字列内に格納されているデータの基本的な型を動的に決定する手段があるかどうか疑問に思っていたと思います。例(注:parseType
存在しないことはわかっています):
Json.ParseType("1") ' --> String
Json.ParseType(1) ' --> Integer
Json.ParseType("True") ' --> String
Json.ParseType(True) ' --> Boolean
Json.ParseType([1,2,3]) ' --> Array
'etc...