繁体   English   中英

如何使用JSON.NET(C#/ ASP.NET)遍历列表并将其转换为JSON对象

[英]How to iterate through a List and convert it to a JSON object using JSON.NET (C# / ASP.NET)

我有以下对象:

[Serializable]
public class Project
{
    private int projectId;
    private int userId;
    private String projectName;
    private String projectDescription;
    private DateTime startDate;
    private DateTime endDate;

...constructor + get/set methods removed

}

我有一个具有变量的类:

private List<Project> projects

相应的get方法是

public List<Project> getUserProjects()
    {
        return projects;
    }

我正在尝试将此列表转换为JSON格式以用于AJAX服务,但结果始终为[{},{}](用户有2个项目-如果3个项目的结果为[{},{}, {}]

这就是我使用JSON.NET序列化对象列表的方式:

[OperationContract]
public string GetProjects()
    {
         string json = JsonConvert.SerializeObject(user.getUserProjects());
         return json;
    }

我应该先遍历列表还是...? 任何帮助将不胜感激!

谢谢!

编辑:

我希望JSON输出如下所示:

{
"Projects": [
{ "ProjectID":"theID" , "userID":"theuserID" , "ProjectName":"theName" , "ProjectDescription":"theDescription" , "startDate":"thedate" , "endDate":"theDate" }, 
{ "ProjectID":"theID" , "userID":"theuserID" , "ProjectName":"theName" , "ProjectDescription":"theDescription" , "startDate":"thedate" , "endDate":"theDate" }, 
...etc
]
}

您可以为此使用JavaScriptSerializer (System.Web.Script.Serialization)。 尝试:

JavaScriptSerializer serializer = New JavaScriptSerializer();
String json = serializer.Serialize(listobject);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM