我想用c#拆分下面的字符串
string clnt_metadata="{itc:ITC}{id:56}"
我希望输出如下:
string itc="ITC" string id="56"
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]);
结果如下:
06odsfpq2#
使用var obj = JsonConvert.DeserializeObject<objectName>(clnt_metadata)
var obj = JsonConvert.DeserializeObject<objectName>(clnt_metadata)
public class objectName { public string ITC {get; set;} public string id {get; set;} }
bksxznpy3#
line = reader.ReadLine(); while (line != null) { string[] words = JsonSplitString(line); string json = words[1]; writer.WriteLine("{0}", json); line = reader.ReadLine(); }
3条答案
按热度按时间5vf7fwbs1#
如前所述,如果你的json是一个有效的json,最好的选择就是反序列化它。如果它不是json,只是一个类似的字符串,具有完全相同的结构,你可以这样解析它:
结果如下:
06odsfpq2#
使用
var obj = JsonConvert.DeserializeObject<objectName>(clnt_metadata)
bksxznpy3#