2017-10-20 318 views
-1

我已經調用了Web服務,並且無法接收下一個JSON對象。我如何從JSON獲取用戶字段? .................................................. .................................................. .................................................. .......如何從C#中的RESTful API解析JSON響應

curl -X POST -H "Authorization: Bearer <Bearer>" -H "Content-Type: application/json" 
    -d '{ 
    "user": { 
       "name": "John", 
       "last_name" : "Harrys", 
       "user_name" : "JHarrys", 
       "email": "[email protected]", 
       "password" : "JHarrys1005", 
      }, 
    "user": { 
       "name": "Mike", 
       "last_name" : "Hanlon", 
       "user_name" : "MHanlon", 
       "email": "[email protected]", 
       "password" : "5", 
      } 
    }' 
    "https://<api host and port>/<service>/createUsers" 


    [OperationContract] 
    [WebInvoke(UriTemplate = "createUsers", Method = "POST", ResponseFormat = WebMessageFormat.Json)] 
    public String createUsers(User user) 
    { 
    //code 
    } 

[DataContract] 
    public class User 
    { 
     [DataMember] 
     public string name; 
     [DataMember] 
     public string last_name; 
     [DataMember] 
     public string user_name; 
     [DataMember] 
     public string email; 
     [DataMember] 
     public string password; 
    } 
+3

的[解析JSON響應的最簡單方法(https://stackoverflow.com/questions/34043384/easiest-way-to-parse-json-response) –

+0

我嘗試,但可能重複的不要」爲我工作 – erickterri

回答

1

解析json數據最簡單的方法之一就是使用Newtonsoft的Json庫。 你會是個類,將容納要分析數據......

public class Movie { 
public string Name {get;set;} 
public string ReleaseDate {get;set} 
... 
} 

然後你得到你的JSON字符串,並與JsonConvert反序列化。

string json = @"{ 
    'Name': 'Bad Boys', 
    'ReleaseDate': '1995-4-7T00:00:00', 
    'Genres': [ 
    'Action', 
    'Comedy' 
    ] 
}"; 

Movie m = JsonConvert.DeserializeObject<Movie>(json); 

string name = m.Name; 
// Bad Boys