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

时间:2017-01-06 07:17:24

标签: c# json string split

我想使用c#

拆分以下字符串
string clnt_metadata="{itc:ITC}{id:56}"

我想要这样的输出:

string itc="ITC"
string id="56"

3 个答案:

答案 0 :(得分:1)

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

以下结果:

enter image description here

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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