Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取JSON值类型C#Newtonsoft.JSON_C#_Json_Types_Json.net - Fatal编程技术网

获取JSON值类型C#Newtonsoft.JSON

获取JSON值类型C#Newtonsoft.JSON,c#,json,types,json.net,C#,Json,Types,Json.net,使用以下命令反序列化JSON字符串后: dynamic objJSON = JsonConvert.DeserializeObject(strJSON) 我能够使用.Name和.Value属性循环访问名称和值 但是,如何确定数据的类型?(例如,我想知道一段数据是否已反序列化为字符串、日期或整数) 编辑以添加上下文: 简而言之,我的JSON源代码稍后可能会扩展(更多字段),我正在进行的数据库插入将需要包含这些扩展。我不希望以后再回来编辑这部分代码,因为太容易忘记,所以我正在通过仔细检查数据类型

使用以下命令反序列化JSON字符串后:

dynamic objJSON = JsonConvert.DeserializeObject(strJSON)
我能够使用.Name和.Value属性循环访问名称和值

但是,如何确定数据的类型?(例如,我想知道一段数据是否已反序列化为字符串、日期或整数)


编辑以添加上下文:


简而言之,我的JSON源代码稍后可能会扩展(更多字段),我正在进行的数据库插入将需要包含这些扩展。我不希望以后再回来编辑这部分代码,因为太容易忘记,所以我正在通过仔细检查数据类型来构建一个动态数据库插入。JSON数据中的字段名称与我的数据库中的字段名称完全一致。。。因此,我想仔细检查数据类型,并相应地构建一个DB insert流。

正如评论中指出的,我不能期望JSON以我需要的方式为我提供数据类型。一个明显的例子是,如果我在数据中有一个空值。。。怎么可能告诉我幕后的数据类型是整数呢


我将添加另一个层来获取SQL表的数据结构,然后在遍历字段时从中提取数据类型。

注意,通常情况下是相反的-您知道它是什么类型,并请求
。。。您需要的实际案例的详细信息可能有助于找到好的答案。JSON不存储对象的类型。它只会在布尔值和数字之间产生差异。其他的一切都是存储为字符串你是对的。。。我不能这样做,因为有时我会有一个空的值。。。当只有空值时,JSON无法告诉我实际字段的数据类型(例如整数)。