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
C# 类似于GSON的Json.NET松散类型选项_C#_Json_Serialization_Gson - Fatal编程技术网

C# 类似于GSON的Json.NET松散类型选项

C# 类似于GSON的Json.NET松散类型选项,c#,json,serialization,gson,C#,Json,Serialization,Gson,在GSON中,您可以反序列化为JsonObject,这反过来允许您访问JsonElements并调用诸如getAsString()、getAsInt()等方法 这对我的用例非常有用:我使用JSON序列化数据并通过网络发送。数据与协议标识符一起发送,协议标识符告诉客户端如何处理数据。我不想为每种不同类型的协议创建一个类,因此作为JsonObject进行反序列化可以让我有很大的灵活性 我找不到类似的方法在C中实现这一点。我想我需要滚动我自己的JsonElement/Object/Array/Prim

在GSON中,您可以反序列化为JsonObject,这反过来允许您访问JsonElements并调用诸如getAsString()、getAsInt()等方法

这对我的用例非常有用:我使用JSON序列化数据并通过网络发送。数据与协议标识符一起发送,协议标识符告诉客户端如何处理数据。我不想为每种不同类型的协议创建一个类,因此作为JsonObject进行反序列化可以让我有很大的灵活性

我找不到类似的方法在C中实现这一点。我想我需要滚动我自己的JsonElement/Object/Array/Primitive层次结构,但我真的不知道从哪里开始。这是最好的方法吗

我想:

将C#中的json反序列化为一种结构,该结构允许我以特定类型访问数据,而无需为数据使用类“骨架”

编辑:

我只能使用.NET 3.5来实现这一点--您不需要反序列化到类中:

int value = JObject.Parse(myJsonString)["property"]["subProperty"].Value<int>();
int value=JObject.Parse(myJsonString)[“属性”][“子属性”].value();

有关更多信息,请参阅文档。

这些解决方案的可能副本将非常有效,但我仅限于.NET 3.5。所以,没有动力。这正是我想要的。谢谢