日期:2014-05-17  浏览次数:20821 次

求教一个关于字符串处理的问题
现有这样一个字符串

{"open":70, "high":100, "low":50, "close": 90}

和四个变量
open, high, low, close
想解析字符串把对应的值赋给对应的变量,请教各位达人,有什么方便的方法么?
新手,只想到了匹配标签,再把后面数字抠出来,再转换为浮点型的笨办法。
C# string

------解决方案--------------------
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<一个类>(字符串)用这个就序列化了。不知道有没有懂?