通过使用存储过程调用嵌套json

时间:2015-03-08 12:48:55

标签: c# .net sql-server json stored-procedures

[
    {
    "name": "student1",
    "projects": 
    [
        {
        "name": "Project1",
        "tasks": 
                [
                    {
                    "name": "task1",
                    "id": 2
                    }
                ],
        "id": 6
        }
    ]
},

等...

我想像这样制作json数据。现在,我正在调用一个存储过程来获取学生信息,并通过迭代学生结果并通过学生ID调用项目存储过程。我想优化这个操作。我不认为这是正确的打电话方式。请帮助我。

1 个答案:

答案 0 :(得分:0)

使用TSQL FORXML获取XML Heirarchy。然后使用下面的(作为起始点),其中strOrigObject是您要发送的字符串:

//Declare the object for return (if any)
Student objWorkingObject = new Student();

//Populate into XML
XmlDocument _Doc = new XmlDocument();
_Doc.LoadXml(strOrigObject);
var ser = new System.Xml.Serialization.XmlSerializer(typeof(Student));
objWorkingObject = (Student)ser.Deserialize(new XmlNodeReader(_Doc.DocumentElement));