[英]Return just Keys from json HttpContext.Response in C#
我有一個HttpContext.Response
函數,它返回這個 json 響應:
{
"[2-1] STORE[STORE_NBR]": 5026,
"[2-1] STORE[STATE_PROV_CD]": "AR"
}
現在,我只想返回鍵而不是值:
{
[2-1] STORE[STORE_NBR],
[2-1] STORE[STATE_PROV_CD]
}
我嘗試評論 [1] 和 [2] 但這會導致異常,因為值是預期的。 怎樣才能達到這個結果?
Json 響應(如評論中所述)可以輕松反序列化為字典,其中KeyValuePair
的Key
和Value
都是字符串。 您可以這樣做:
using System.Linq;
using Newtonsoft.Json; // Can be installed as a NuGet package
然后
var dictionary =
JsonConvert.DeserializeObject<Dictionary<string,string>>(source);
一旦你有了字典對象,你就可以使用 Linq 只提取你想要的鍵並將它們變成一個列表。
List<string> keys =
dictionary.Select(keyValuePair => keyValuePair.Key).ToList();
在哪里
const string source =
@"{
""[2 - 1] STORE[STORE_NBR]"": 5026,
""[2-1] STORE[STATE_PROV_CD]"": ""AR""
}";
這些代碼行格式化您指定的輸出:
Console.WriteLine(
"Here are the keys:");
Console.WriteLine(
$"{{{Environment.NewLine}{string.Join("," + Environment.NewLine, keys)}{Environment.NewLine}}}");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.