[英]How can I get the values of some part of a json string?
我正在使用此Json結構,但我不知道如何獲取“ json”鍵的一部分的值
我正在使用此代碼向API發送請求,返回的是Json對象:
var reqData = (HttpWebRequest)WebRequest.Create(string.Format("http://server_ip/system/message/date/{0}/", txtDate.Text));
reqData.ContentType = "application/json";
reqData.Method = "GET";
var answer = (HttpWebResponse)reqData.GetResponse();
List<Dictionary<string, string>> convert = JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(answer);
結果是這樣的Json結構:
"[
{
\"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
}
]"
我想從此Json字符串的json部分獲取值( Id,name,date,hour
),有人可以幫助我獲取此值嗎?
該json
屬性包含一個包含更多JSON的字符串,因此您必須再次對它進行反序列化,就像處理整個外部結構一樣。
因此,現在有了您的convert
數組,您可以拉出第一個對象,獲取json
的值並將其反序列化:
var json = JsonConvert.DeserializeObject<Dictionary<string, string>>(convert[0]["json"]);
然后,您可以像這樣提取每個值:
var id = json["Id"];
請注意,您問題中的JSON實際上無效。 其中有一些錯誤。 但是我假設它們只是復制/粘貼錯誤,並且Web服務實際上正在返回有效的JSON。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.