如何在.NET Web服务中接收JSON结构

时间:2013-04-26 04:57:02

标签: .net json

我需要从iOS应用程序向.NET Web服务发送JSON结构。 JSON看起来像这样:

{
   "Name":"Tom Jones",
   "Address":{
      "Street":"123 Some Ln.",
      "City":"Home Town",
      "State":"ZX",
      "Zip":12345
   },
   "Phone":"123-456-4567"
}

我知道如何接收姓名和电话价值,但我不知道地址应该是什么样子。 这就是我对姓名和电话的看法:

public string doSomething(string name, string phone)

地址输入变量应该是什么样的?我尝试过的所有内容都会出错。

2 个答案:

答案 0 :(得分:1)

您是否尝试过使用嵌套值作为属性的名为Address的对象?

using System.Runtime.Serialization;

[DataContract]
public class Address
{
    [DataMember]
    public string Street {get;set;}
    [DataMember]
    public string City {get;set;}
    [DataMember]
    public string State {get;set;}
    [DataMember]
    public int Zip {get;set;}
}

然后方法中的参数如下:

public string doSomething(string name, Address address, string phone)

答案 1 :(得分:1)

您可以直接将JSON字符串转换为.Net类,类的定义应如下所示

public class Address
{
    public string Street {get;set;}
    public string City {get;set;}
    public string State {get;set;}
    public int Zip {get;set;}
}

public class User
{
    public string Name {get;set;}
    public Address Address {get;set;}
    public string Phone {get;set;}
}

public string doSomething(User user)

现在,您可以直接访问user对象中的任何成员。