如何在c#中拆分json字符串并存储在单独的变量中

问题描述 投票:0回答:3

我想使用 c# 分割以下字符串

string clnt_metadata="{itc:ITC}{id:56}"

我想要这样的输出:

string itc="ITC"
string id="56"
c# json string split
3个回答
0
投票

正如前面的答案中提到的,如果您的 json 是有效的 json,最好的选择就是反序列化它。如果它不是 json,而是类似的字符串,具有与您描述的完全相同的结构,您可以这样解析它:

var parts = clnt_metadata.Split(new string[] {"}{"}, StringSplitOptions.RemoveEmptyEntries)
       .Select(s => s.Trim('{', '}'))
       .Select(s => s.Split(':'))
       .ToDictionary(s => s[0], s => s[1]);

结果如下:


-2
投票

使用

var obj = JsonConvert.DeserializeObject<objectName>(clnt_metadata)

public class objectName
{
   public string ITC {get; set;}
   public string id {get; set;}
}

-2
投票
line = reader.ReadLine();
while (line != null)
{
    string[] words = JsonSplitString(line);
    string json = words[1];
    writer.WriteLine("{0}", json);
    line = reader.ReadLine();
}
© www.soinside.com 2019 - 2024. All rights reserved.