【问题标题】:How to split this string into Dictionary<string,string>? [duplicate]如何将此字符串拆分为 Dictionary<string,string>? [复制]
【发布时间】:2016-07-20 15:54:50
【问题描述】:

我有以下字符串:

{"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&lt;string,string&gt;,我怎么能把整个东西拉成基本上一行?

我见过这样的事情:

var s = someString.Split(new[] {"\",\""}, StringSplitOptions.RemoveEmptyEntries)
  .Select(p => p.Split(':'))
  .ToDictionary(split => split[0], split => split[1]);

但它会抛出和索引越界错误。是否有一些类似的语法可以使用?

【问题讨论】:

    标签: c# .net string dictionary split


    【解决方案1】:

    由于字符串遵循 JSON 格式,因此拆分它不是一个好选择 - 正是因为您提到的问题。

    您可以改用JsonConvert

    var res = JsonConvert.DeserializeObject<Dictionary<string,string>>(inputString);
    

    【讨论】:

    • 可能值得一提的是,他需要 JSON.NET nuget 包才能使用 JsonConvert
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-17
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多