我想使用c#
拆分以下字符串string clnt_metadata="{itc:ITC}{id:56}"
我想要这样的输出:
string itc="ITC"
string id="56"
答案 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]);
以下结果:
答案 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();
}