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}
  }
jsonphp

解决方案 »

  1.   

    这个。为什么不用php反序列化后再传给C#处理呢
      

  2.   

    应该在php里面转化为json字符串后,再转给C#,这样方便。
      

  3.   

    因为这个要在服务器上使用,服务器没有php环境,只有asp.net环境。
      

  4.   

    只需要html转码就行了 System.Web.HttpUtility.HtmlEncode(HtmlDecode)方法对字符进行编码(解码)的;
      

  5.   

    HttpUtility.HtmlEncode(str),这个方法能把&quot翻译成引号,但是a:5这些还会保留,需要进一步处理。
      

  6.   

    引号的事很好办,直接replace替换就行了
    只是前面的字符串是PHP序列化一个数组得到的,而后面的字符串是个json字符串,就是不知道用办法来转换