C# 将Json模式反序列化为Json字符串或对象
我有一个json模式,需要将其转换为C#对象,或者至少转换为json字符串 有没有办法通过代码或使用某种工具来实现这一点 对于Json,我目前使用的是C# 将Json模式反序列化为Json字符串或对象,c#,json,json.net,C#,Json,Json.net,我有一个json模式,需要将其转换为C#对象,或者至少转换为json字符串 有没有办法通过代码或使用某种工具来实现这一点 对于Json,我目前使用的是Json.net 这是我的模式之一: { "$schema": "http://json-schema.org/draft-04/schema#", "title": "UserGroupWsDTO", "type": "object", "properties": { "members": { "t
Json.net
这是我的模式之一:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "UserGroupWsDTO",
"type": "object",
"properties":
{
"members":
{
"type": "array",
"items":
{
"type": "object",
"properties":
{
"uid":
{
"type": "string"
}
}
}
},
"uid":
{
"type": "string"
},
"name":
{
"type": "string"
}
}
}
我需要它来创建一个对象来反序列化json
编辑
我的Json模式版本是4,POCO的Json模式不支持它如果您只是“浏览”键值
,那么您不需要任何额外的lib
只要做:
var obj = (JObject)JsonConvert.DeserializeObject(json);
var dict = obj.First.First.Children().Cast<JProperty>()
.ToDictionary(p => p.Name, p =>p.Value);
var dt = (string)dict["title"];
这就是实现:
string json = @"{...use your json string here }";
RootObject root = JsonConvert.DeserializeObject<RootObject>(json);
Console.WriteLine(root.title);
// UserGroupWsDTO
stringjson=@“{…在这里使用json字符串}”;
RootObject root=JsonConvert.DeserializeObject(json);
Console.WriteLine(root.title);
//UserGroupWsDTO
看看哪个支持v3 JSON。我需要一个对象来反序列化JSON。我的问题是如何获取JSON,因为如果要创建“Account”对象,我需要读取JSONschema@frenk91,新变化,因此,请再次查看更新后的答案。在任意模式中,您可能需要解析类型引用等,并将json粘贴到其中-所有类都将为您创建。可能重复我无法使用json2csharp,因为我有一个json模式。旧问题我知道有人找到v4 json模式的答案吗.. 建议答案为v3或以下。
string json = @"{...use your json string here }";
RootObject root = JsonConvert.DeserializeObject<RootObject>(json);
Console.WriteLine(root.title);
// UserGroupWsDTO