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

1mrurvl1  于 2023-02-06  发布在  C#
关注(0)|答案(3)|浏览(232)

我想用c#拆分下面的字符串

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

我希望输出如下:

string itc="ITC"
string id="56"
5vf7fwbs

5vf7fwbs1#

如前所述,如果你的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]);

结果如下:

06odsfpq

06odsfpq2#

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

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

bksxznpy3#

line = reader.ReadLine();
while (line != null)
{
    string[] words = JsonSplitString(line);
    string json = words[1];
    writer.WriteLine("{0}", json);
    line = reader.ReadLine();
}

相关问题