This question already has answers here:
How can I parse JSON with C#?
(15个答案)
3年前关闭。
我有以下字符串:
我可以使用以下长语法对此进行拆分:
由于此字符串基本上是一个
我看过这样的东西:
但是它会抛出索引超出范围的错误。是否有一些类似的语法会起作用?
(15个答案)
3年前关闭。
我有以下字符串:
{"key1":"value1","key2":"value2,some other part of value2"}
我可以使用以下长语法对此进行拆分:
var s = someString.Split(new[] {"\",\""}, StringSplitOptions.RemoveEmptyEntries);
var firstEntryValue = s[0].Split(':')[1];
var secondEntryValue = s[1].Split(':')[1];
由于此字符串基本上是一个
Dictionary<string,string>
,我如何在基本上一行中将整个内容放入该类型?我看过这样的东西:
var s = someString.Split(new[] {"\",\""}, StringSplitOptions.RemoveEmptyEntries)
.Select(p => p.Split(':'))
.ToDictionary(split => split[0], split => split[1]);
但是它会抛出索引超出范围的错误。是否有一些类似的语法会起作用?
最佳答案
由于字符串遵循JSON格式,因此拆分字符串不是一个好选择-正是由于您提到的问题。
您可以改用JsonConvert
:
var res = JsonConvert.DeserializeObject<Dictionary<string,string>>(inputString);