C# 如何获取json字符串某些部分的值?
我正在使用这个Json结构,但我不知道如何获取Json键部分的值 我使用这段代码向API发送请求,返回的是一个Json对象: var reqData=HttpWebRequestWebRequest.Createstring.Formathttp://server_ip/system/message/date/{0}/,txtDate.Text; reqData.ContentType=应用程序/json; reqData.Method=GET; var answer=HttpWebResponsereqData.GetResponse; List convert=JsonConvert.DeserializeObjectanswer; 结果是一个Json结构,如下所示:C# 如何获取json字符串某些部分的值?,c#,asp.net,json,api,C#,Asp.net,Json,Api,我正在使用这个Json结构,但我不知道如何获取Json键部分的值 我使用这段代码向API发送请求,返回的是一个Json对象: var reqData=HttpWebRequestWebRequest.Createstring.Formathttp://server_ip/system/message/date/{0}/,txtDate.Text; reqData.ContentType=应用程序/json; reqData.Method=GET; var answer=HttpWebRespon
"[
{
\"idMessage\":\"--Message Id--",
\"idTemplate\":--TemplateId--,
\"mail\":\"--mail dir--\",
\"subject\":\"--message subject--\",
\"json\":\"{
\\\"Id\\\":\\\"--Person Id--\\\",
\\\"name\\\":\\\"--Person name--\\\",
\\\"date\\":\\\"--Register date-\\\",
\\\"hour\\\":\\\"--Register hour--\\\"
}\",
\"senddate\":\"--sent date--\",
\"status\":0,
\"template\":null
}
]"
var id = json["Id"];
我想从这个json字符串的json部分获取值Id、name、date、hour,有人能帮我获取这些值吗?json属性包含更多json字符串,因此您必须再次反序列化,就像您对整个外部结构进行反序列化一样
现在您有了convert数组,可以提取第一个对象,获取json的值并反序列化:
var json = JsonConvert.DeserializeObject<Dictionary<string, string>>(convert[0]["json"]);
请注意,您问题中的JSON实际上是无效的。其中有一些错误。但我假设它们只是复制/粘贴错误,web服务实际上返回的是有效的JSON。您问题中的JSON格式不正确-似乎有一些字符串转义可能是由调试器或JSON可视化工具添加的。您能否在不转义的情况下共享原始JSON?事实上,逃逸是不一致的;e、 g.在\idMessage\:\-Message Id中-最后的“”字符似乎没有转义,这使得测试代码变得很困难。