C# 如何在C中解析来自RESTful API的JSON响应#
我调用了一个web服务,无法接收下一个JSON对象。如何从JSON中获取用户字段C# 如何在C中解析来自RESTful API的JSON响应#,c#,.net,json,C#,.net,Json,我调用了一个web服务,无法接收下一个JSON对象。如何从JSON中获取用户字段 curl -X POST -H "Authorization: Bearer <Bearer>" -H "Content-Type: application/json" -d '{ "user": { "name": "John", "last_name" : "Harrys", "user_na
curl -X POST -H "Authorization: Bearer <Bearer>" -H "Content-Type: application/json"
-d '{
"user": {
"name": "John",
"last_name" : "Harrys",
"user_name" : "JHarrys",
"email": "JHarrys@noreply.com",
"password" : "JHarrys1005",
},
"user": {
"name": "Mike",
"last_name" : "Hanlon",
"user_name" : "MHanlon",
"email": "MHanlon@noreply.com",
"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;
}
curl-X POST-H“授权:承载者”-H“内容类型:应用程序/json”
-d'{
“用户”:{
“姓名”:“约翰”,
“姓”:“哈利斯”,
“用户名”:“JHarrys”,
“电子邮件”:JHarrys@noreply.com",
“密码”:“JHarrys1005”,
},
“用户”:{
“姓名”:“迈克”,
“姓氏”:“Hanlon”,
“用户名”:“MHanlon”,
“电子邮件”:MHanlon@noreply.com",
“密码”:“5”,
}
}'
"https:////createUsers"
[经营合同]
[WebInvoke(UriTemplate=“createUsers”,Method=“POST”,ResponseFormat=WebMessageFormat.Json)]
公共字符串createUsers(用户)
{
//代码
}
[数据合同]
公共类用户
{
[数据成员]
公共字符串名称;
[数据成员]
公共字符串姓氏;
[数据成员]
公共字符串用户名;
[数据成员]
公共字符串电子邮件;
[数据成员]
公共字符串密码;
}
解析json数据的最简单方法之一是使用Newtonsoft的json库。
您将创建一个类,该类将保存要分析的数据
curl -X POST -H "Authorization: Bearer <Bearer>" -H "Content-Type: application/json"
-d '{
"user": {
"name": "John",
"last_name" : "Harrys",
"user_name" : "JHarrys",
"email": "JHarrys@noreply.com",
"password" : "JHarrys1005",
},
"user": {
"name": "Mike",
"last_name" : "Hanlon",
"user_name" : "MHanlon",
"email": "MHanlon@noreply.com",
"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;
}
public class Movie {
public string Name {get;set;}
public string ReleaseDate {get;set}
...
}
然后获取json字符串,并使用JsonConvert对其进行反序列化
curl -X POST -H "Authorization: Bearer <Bearer>" -H "Content-Type: application/json"
-d '{
"user": {
"name": "John",
"last_name" : "Harrys",
"user_name" : "JHarrys",
"email": "JHarrys@noreply.com",
"password" : "JHarrys1005",
},
"user": {
"name": "Mike",
"last_name" : "Hanlon",
"user_name" : "MHanlon",
"email": "MHanlon@noreply.com",
"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;
}
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
stringjson=@”{
“名字”:“坏男孩”,
“发布日期”:“1995-4-7T00:00:00”,
“流派”:[
“行动”,
“喜剧”
]
}";
Movie m=JsonConvert.DeserializeObject(json);
字符串名称=m.名称;
//坏小子
可能重复我尝试过,但不适合我