C#怎么将php序列化后的字符串转成json字符串

C#如何将php序列化后的字符串转成json字符串
string  str="a:5:{s:5:"width";s:3:"520";s:6:"height";s:3:"340";s:5:"color";s:7:"default";s:8:"duration";s:1:"2";s:5:"flash";a:7:{i:0;a:3:{s:3:"pic";s:19:"/upload/focus/5.jpg";s:4:"link";s:1:"/";s:1:"i";s:1:"0";}i:1;a:3:{s:3:"pic";s:19:"/upload/focus/4.jpg";s:4:"link";s:1:"/";s:1:"i";s:1:"1";}i:2;a:3:{s:3:"pic";s:19:"/upload/focus/3.jpg";s:4:"link";s:1:"/";s:1:"i";s:1:"2";}i:3;a:3:{s:3:"pic";s:19:"/upload/focus/2.jpg";s:4:"link";s:1:"/";s:1:"i";s:1:"3";}i:4;a:3:{s:3:"pic";s:19:"/upload/focus/1.jpg";s:4:"link";s:1:"/";s:1:"i";s:1:"4";}i:5;a:3:{s:3:"pic";s:0:"";s:4:"link";s:0:"";s:1:"i";s:1:"5";}s:13:"1349684122179";a:3:{s:3:"pic";s:0:"";s:4:"link";s:0:"";s:1:"i";s:13:"1349684122179";}}}";
如何转成:
{"width":520,"height":340,"color":"default","duration":2,"flash":{
"1":{"pic":"/upload/focus/5.jpg","link":"/","i":0},
"2":{"pic":"/upload/focus/4.jpg","link":"/","i":1},
"3":{"pic":"/upload/focus/3.jpg","link":"/","i":2},
"4":{"pic":"/upload/focus/2.jpg","link":"/","i":3},
"5":{"pic":"/upload/focus/1.jpg","link":"/","i":4},
"6":{"pic":"","link":"","i":5},
"1349684122179":{"pic":"/","link":"/","i":1349684122179}
  }
json php

------解决方案--------------------
这个。。。。为什么不用php反序列化后再传给C#处理呢
------解决方案--------------------
应该在php里面转化为json字符串后,再转给C#,这样方便。
------解决方案--------------------