繁体   English   中英

WCF编写嵌套的Json Web服务

[英]WCF writing Nested Json Webservice

我必须在下面构造的nested Json点网编写WCF Web服务。 我知道如何编写简单的json,但不确定将其嵌套为`results

{
    "version": 2,


        "results": [{
        "company": "ABC Company Inc.",
        "city": "Sacramento",
        "state": "CA"
    }

    ]
}

我正在做的是:

file1.cs

namespace Test
{
    public class file1
    {
        public class child
        {
            [DataMember]
            public string version { get; set; }
        }

        public class parent
        {
            [DataMember]
            public string company { get; set; }

            [DataMember]
            public string city { get; set; }

        }
    }
}

file2.svc.cs中

public List<file1> method()
     {


         List<file1.child> result = new List<file1.child>();
         List<file1.parent> result1 = new List<file1.parent>();
         List<file1> final = new List<file1>();
         foreach (DataRow catt1 in dtcategory.Rows)
         {



             result.Add(new file1.child()
             {
                 version= catt1["version"].ToString(),

                });


             result1.Add(new file1.parent() {

                 company= catt1["company"].ToString(),
                 city= catt1["city"].ToString(),


             });
             final.Add(new file1()
             {


             });
              }


         return Add;

     }

请让我哪里出问题了

类结构:

public class class1
{

[DataMember]
public string version {get;set;}

[DataMember]
public List<class2> results {get;set;}

}

public class class2
{

[DataMember]
public string company {get;set;}


[DataMember]
public string city{get;set;}

[DataMember]
public string state {get;set;}


}

您的问题还不清楚。 但是,如果您问“如何设计我的类file1.childfile1.parent以便在通过DataContractJsonSerializerJson.NET序列化时,它们生成所示的JSON”,那么您可以执行以下操作:

    public class file1
    {
        [DataContract]
        public class child
        {
            [DataMember(Name="version")]
            public string Version { get; set; }

            [DataMember(Name="results")]
            public List<parent> Results { get; set; }
        }

        [DataContract]
        public class parent
        {
            [DataMember(Name="company")]
            public string Company { get; set; }

            [DataMember(Name="city")]
            public string City { get; set; }

            [DataMember(Name="state")]
            public string State { get; set; }
        }
    }

请注意,给定您的类名, parent包含在child ,这是违反直觉的。 您可能想要更改这些名称。

暂无
暂无

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

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