var dict = JsonSerializer.Deserialize<Dictionary<string, string>>("{\"1\":\"2\",\"3\":\"4\"}");
// Lists available in:
// dict.Keys
// dict.Values
// if you need them as numbers, you could do something like this:
// dict.Keys.Select(v => int.Parse(v))
// JSON input
string jsonInput = "{\"7\":\"14\",\"8\":\"16\",\"10\":\"18\",\"19\":\"20\"}";
// Deserialize the JSON into a dictionary
var dict = JsonConvert.DeserializeObject<Dictionary<string, string>>(jsonInput);
// Combine key-value pairs into "key:value" format
var combinedDict = dict.Select(kvp => $"{kvp.Key}:{kvp.Value}").ToList();
// Serialize the combined list back to JSON format
string jsonOutput = JsonConvert.SerializeObject(combinedDict);
// Output the result
Console.WriteLine(jsonOutput);
使用Newtonsoft.Json,您可以将其转换为并通过提取
JObject
键和值。Properties()
Values()
从
Dictionary<string, string>
实例中,您可以使用System.Linq来提取Key
和Value
。注意:仅当键唯一时这才有效。
您可以将 JSON 对象反序列化为字典并从中获取值:
这是使用较新的 System.Text.Json 库,但 JSON.NET 也可以工作。
试试这个。
它将给你类似的输出
前提是值始终不为空。否则,您将需要添加长度检查,以免索引崩溃。