C# 如何解析这个json结果而不在C中生成类#
如果没有c#中的类,我如何解析这个json。我不知道如何使用数组或其他任何东西 这是我想要解析的json结果C# 如何解析这个json结果而不在C中生成类#,c#,json,serialization,C#,Json,Serialization,如果没有c#中的类,我如何解析这个json。我不知道如何使用数组或其他任何东西 这是我想要解析的json结果 { "success": true, "status": 200, "message": "SUCCESS", "response": { "message": "Device Registered", "data": [ { "ID": "607dbb9e08b4c2
{
"success": true,
"status": 200,
"message": "SUCCESS",
"response": {
"message": "Device Registered",
"data": [
{
"ID": "607dbb9e08b4c22a",
"Type_ID": "657911C6-AFA5-4AC4-922F-39E56CCB28CC",
"Name": "Genymotion Google Nexus 5X",
"Active": "1",
"Insert_User": "Default",
"Insert_Date": "2019-10-18 16:33:01.650",
"Update_User": "Default",
"Update_Date": "2019-10-18 16:33:01.650"
}
]
}
}
您可以使用Json.NET 这里有文档 简短解释: 对于序列化(对象到字符串): 对于反序列化(字符串到对象) 如果要反序列化匿名类型,可以使用此文档,它非常简单
您可以使用Json.NET 这里有文档 简短解释: 对于序列化(对象到字符串): 对于反序列化(字符串到对象) 如果要反序列化匿名类型,可以使用此文档,它非常简单 您可以使用而不是创建对象。但动态对象比普通类花费更多的源代码。如果您有性能问题,我不推荐您;如果没有,请点击这里:
string json = @"[
{
'Title': 'Json.NET is awesome!',
'Author': {
'Name': 'James Newton-King',
'Twitter': '@JamesNK',
'Picture': '/jamesnk.png'
},
'Date': '2013-01-23T19:30:00',
'BodyHtml': '<h3>Title!</h3>\r\n<p>Content!</p>'
}
]";
dynamic blogPosts = JArray.Parse(json);
dynamic blogPost = blogPosts[0];
string title = blogPost.Title;
Console.WriteLine(title);
// Json.NET is awesome!
string author = blogPost.Author.Name;
Console.WriteLine(author);
// James Newton-King
DateTime postDate = blogPost.Date;
Console.WriteLine(postDate);
// 23/01/2013 7:30:00 p.m.
有关更多文档,请查看。您可以使用而不是创建对象。但动态对象比普通类花费更多的源代码。如果您有性能问题,我不推荐您;如果没有,请点击这里:
string json = @"[
{
'Title': 'Json.NET is awesome!',
'Author': {
'Name': 'James Newton-King',
'Twitter': '@JamesNK',
'Picture': '/jamesnk.png'
},
'Date': '2013-01-23T19:30:00',
'BodyHtml': '<h3>Title!</h3>\r\n<p>Content!</p>'
}
]";
dynamic blogPosts = JArray.Parse(json);
dynamic blogPost = blogPosts[0];
string title = blogPost.Title;
Console.WriteLine(title);
// Json.NET is awesome!
string author = blogPost.Author.Name;
Console.WriteLine(author);
// James Newton-King
DateTime postDate = blogPost.Date;
Console.WriteLine(postDate);
// 23/01/2013 7:30:00 p.m.
有关更多文档,请查看。您可以使用JObject解析json
dynamic response = JObject.Parse(jsonString);
success = response ?.success;
您可以使用JObject解析json
dynamic response = JObject.Parse(jsonString);
success = response ?.success;
谢谢大家,我只是自己想出来的。 我就是这么做的
public async Task<string> CheckDevice(string id)
{
var uri = new Uri(string.Format(Constant.CheckDevicesRegistration + "id=" + id, string.Empty));
try
{
var response = await client.GetAsync(uri);
if (response.IsSuccessStatusCode)
{
var result = await response.Content.ReadAsStringAsync();
var jsonData = (JObject)JsonConvert.DeserializeObject(result);
var message = jsonData["response"]["message"].Value<string>();
resultService = message;
}
}
catch
{
resultService = "Connection-Error";
}
return resultService;
}
公共异步任务检查设备(字符串id)
{
var uri=new uri(string.Format(Constant.checkDeviceRegistration+“id=“+id,string.Empty));
尝试
{
var response=await client.GetAsync(uri);
if(响应。IsSuccessStatusCode)
{
var result=await response.Content.ReadAsStringAsync();
var jsonData=(JObject)JsonConvert.DeserializeObject(结果);
var message=jsonData[“response”][“message”].Value();
结果服务=消息;
}
}
抓住
{
resultService=“连接错误”;
}
返回结果服务;
}
谢谢大家,我自己就知道了。
我就是这么做的
public async Task<string> CheckDevice(string id)
{
var uri = new Uri(string.Format(Constant.CheckDevicesRegistration + "id=" + id, string.Empty));
try
{
var response = await client.GetAsync(uri);
if (response.IsSuccessStatusCode)
{
var result = await response.Content.ReadAsStringAsync();
var jsonData = (JObject)JsonConvert.DeserializeObject(result);
var message = jsonData["response"]["message"].Value<string>();
resultService = message;
}
}
catch
{
resultService = "Connection-Error";
}
return resultService;
}
公共异步任务检查设备(字符串id)
{
var uri=new uri(string.Format(Constant.checkDeviceRegistration+“id=“+id,string.Empty));
尝试
{
var response=await client.GetAsync(uri);
if(响应。IsSuccessStatusCode)
{
var result=await response.Content.ReadAsStringAsync();
var jsonData=(JObject)JsonConvert.DeserializeObject(结果);
var message=jsonData[“response”][“message”].Value();
结果服务=消息;
}
}
抓住
{
resultService=“连接错误”;
}
返回结果服务;
}
您可以使用linq-to-json。可能与Read aboutJObject
重复。这就是你需要的。如果您只需要一个值,请按照建议执行,如果您试图节省时间和代码,那么只需将其反序列化为一个具体的类(为reals实际节省时间和代码)。我同意@TheGeneral,为您的JSON数据生成类。这将需要5分钟,但将在将来为您节省大量时间。您可以使用linq-to-json。可能与Read aboutJObject
重复。这就是你需要的。如果您只需要一个值,请按照建议执行,如果您试图节省时间和代码,那么只需将其反序列化为一个具体的类(为reals实际节省时间和代码)。我同意@TheGeneral,为您的JSON数据生成类。这需要5分钟,但将来会为您节省很多时间。这是不相关的,因为问题没有创建类。这是不相关的,因为问题没有创建类