求教一个关于字符串处理的问题
现有这样一个字符串
{"open":70, "high":100, "low":50, "close": 90}
和四个变量
open, high, low, close
想解析字符串把对应的值赋给对应的变量,请教各位达人,有什么方便的方法么?
新手,只想到了匹配标签,再把后面数字抠出来,再转换为浮点型的笨办法。
------解决方案--------------------http://www.cnblogs.com/txw1958/archive/2012/08/01/csharp-json.html
------解决方案--------------------JSON 序列化
http://www.cnblogs.com/zhaozhan/archive/2011/01/09/1931340.html
------解决方案--------------------
int open = 0, high = 0, low = 0, close = 0;
string str = @"{""open"":70, ""high"":100, ""low"":50, ""close"":90}";
string[] strs = str.Substring(1, str.Length - 2).Split(',').SelectMany(c => c.Split(':')).Where((c, i) => i % 2 != 0).ToArray();
open = int.Parse(strs[0].Trim());
high = int.Parse(strs[1].Trim());
low = int.Parse(strs[2].Trim());
close = int.Parse(strs[3].Trim());
Console.WriteLine("open={0} high={1} low={2} close={3}", open, high, low, close);
------解决方案--------------------不是你写的吧,这是Json格式用的时候序列化就行了。另外js也可解析这种格式就是var obj=eval("("+Json+")"); alert(obj.open);alert(obj.heih);alert(obj.low);
------解决方案--------------------用json,引用这个Newtonsoft.Json.dll,页面
Newtonsoft.Json.JsonConvert.DeserializeObject<一个类>(字符串)用这个就序列化了。不知道有没有懂?