C# 在c中用Json.net反序列化Json变量#
我试图用JSON.NET处理JSON结构,但没有任何运气C# 在c中用Json.net反序列化Json变量#,c#,asp.net,json,serialization,json.net,C#,Asp.net,Json,Serialization,Json.net,我试图用JSON.NET处理JSON结构,但没有任何运气 { "Test": [ { "text": "blah...", "Id": 6, "Date": "2013-04-13T00:00:00" }, { "text": "bluuhh...", "Id": 7, "Date": "2013-02-10T00:00:00" } ], "ErrorCode": 0, "St
{
"Test": [
{
"text": "blah...",
"Id": 6,
"Date": "2013-04-13T00:00:00"
},
{
"text": "bluuhh...",
"Id": 7,
"Date": "2013-02-10T00:00:00"
}
],
"ErrorCode": 0,
"Status": 0,
"StatusString": "Okay",
"Message": "successfully returned 2 events."
}
我通常写:
dynamic stuff = JsonConvert.DeserializeObject(json);
如何为
文本创建foreach
?一种方法是通过自动生成器从json创建对象
dynamic stuff = JsonConvert.DeserializeObject(json);
foreach (var item in stuff.Test)
{
Console.WriteLine("{0} {1} {2}", item.text, item.Id, item.Date);
}
对于您的json,它提供
public class Test
{
public string text { get; set; }
public int Id { get; set; }
public string Date { get; set; }
}
public class RootObject
{
public List<Test> Test { get; set; }
public int ErrorCode { get; set; }
public int Status { get; set; }
public string StatusString { get; set; }
public string Message { get; set; }
}
公共类测试
{
公共字符串文本{get;set;}
公共int Id{get;set;}
公共字符串日期{get;set;}
}
公共类根对象
{
公共列表测试{get;set;}
公共int错误代码{get;set;}
公共int状态{get;set;}
公共字符串StatusString{get;set;}
公共字符串消息{get;set;}
}
那你有
RootObject stuff = JsonConvert.DeserializeObject<RootObject>(json);
foreach (Test item in stuff.Test)
{
//your code
}
RootObject stuff=JsonConvert.DeserializeObject(json);
foreach(stuff.Test中的测试项)
{
//你的代码
}
一种方法是通过自动生成器从json创建对象
对于您的json,它提供
public class Test
{
public string text { get; set; }
public int Id { get; set; }
public string Date { get; set; }
}
public class RootObject
{
public List<Test> Test { get; set; }
public int ErrorCode { get; set; }
public int Status { get; set; }
public string StatusString { get; set; }
public string Message { get; set; }
}
公共类测试
{
公共字符串文本{get;set;}
公共int Id{get;set;}
公共字符串日期{get;set;}
}
公共类根对象
{
公共列表测试{get;set;}
公共int错误代码{get;set;}
公共int状态{get;set;}
公共字符串StatusString{get;set;}
公共字符串消息{get;set;}
}
那你有
RootObject stuff = JsonConvert.DeserializeObject<RootObject>(json);
foreach (Test item in stuff.Test)
{
//your code
}
RootObject stuff=JsonConvert.DeserializeObject(json);
foreach(stuff.Test中的测试项)
{
//你的代码
}
或者您可以在VS2012的编辑菜单中直接生成类=>paste special=>paste json as class,或者您可以在VS2012的编辑菜单中直接生成类=>paste special=>paste json as class谢谢:-)为什么要使用{0}{1}{2}?以及如何使用literal@user2761009只是为了格式化Console.WriteLine的输出(如果您觉得更容易阅读,那么a+“”+b”c
)。如果您喜欢:var text=(string)item.text代码>谢谢:-)为什么要使用{0}{1}{2}?以及如何使用literal@user2761009只是为了格式化Console.WriteLine的输出(如果您觉得更容易阅读,那么a+“”+b”c
)。如果您喜欢:var text=(string)item.text代码>