C# 返回简单JSON结果的WCF服务
我试图找出返回以下JSON字符串的最简单方法:C# 返回简单JSON结果的WCF服务,c#,json,wcf,service,C#,Json,Wcf,Service,我试图找出返回以下JSON字符串的最简单方法: {"0":"bar1","1":"bar2","2":"bar3"} 我完全能够将类似以下类对象的内容返回到JSON: Person person = new Person() { foo1 = "bar1", foo2 = "bar2", foo3 = "bar3" }; {"foo1":"bar1","foo2":"bar2","foo3":"bar3"} 我只是想知道如何将键作为整数字符串返回?您可以使用[Dat
{"0":"bar1","1":"bar2","2":"bar3"}
我完全能够将类似以下类对象的内容返回到JSON:
Person person = new Person()
{
foo1 = "bar1",
foo2 = "bar2",
foo3 = "bar3"
};
{"foo1":"bar1","foo2":"bar2","foo3":"bar3"}
我只是想知道如何将键作为整数字符串返回?您可以使用
[DataMember]
属性(使用Name
属性)更改序列化JSON中属性的名称,如下所示
public class StackOverflow_18081074
{
[DataContract]
public class Person
{
[DataMember(Name = "0")]
public string Foo1 { get; set; }
[DataMember(Name = "1")]
public string Foo2 { get; set; }
[DataMember(Name = "2")]
public string Foo3 { get; set; }
}
[ServiceContract]
public class Service
{
[WebGet]
public Person Get()
{
return new Person
{
Foo1 = "bar1",
Foo2 = "bar2",
Foo3 = "bar3"
};
}
}
public static void Test()
{
string baseAddress = "http://" + Environment.MachineName + ":8000/Service";
WebServiceHost host = new WebServiceHost(typeof(Service), new Uri(baseAddress));
host.Open();
Console.WriteLine("Host opened");
WebClient c = new WebClient();
Console.WriteLine(c.DownloadString(baseAddress + "/Get"));
Console.Write("Press ENTER to close the host");
Console.ReadLine();
host.Close();
}
}
我不应该问这样的问题,当我半睡半醒,一只眼睛只能工作的时候。我知道这一点。非常感谢。