我有一个 JSON 对象传递到我的 REST API 中。我使用特定 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 字符串(因此是 typed 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...