• 主页
  • ASP
  • .NET Framework
  • Web Services
  • VB
  • VC
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • LINQ

C#如何将php序列化后的字符串转成json字符串

php_wsd PHP高级工程师  2013-09-02 12:30:36
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}
}
}
...全文
99 点赞 收藏 7
写回复
7 条回复
EnForGrass 2013年09月02日
这个。。。。为什么不用php反序列化后再传给C#处理呢
回复 点赞
php_wsd 2013年09月02日
引号的事很好办,直接replace替换就行了 只是前面的字符串是PHP序列化一个数组得到的,而后面的字符串是个json字符串,就是不知道用办法来转换
回复 点赞
极简吧 2013年09月02日
HttpUtility.HtmlEncode(str),这个方法能把"翻译成引号,但是a:5这些还会保留,需要进一步处理。
回复 点赞
lvjianwu 2013年09月02日
额 不行 估计他有自定义的部分 你自己写自定义吧
回复 点赞
lvjianwu 2013年09月02日
只需要html转码就行了 System.Web.HttpUtility.HtmlEncode(HtmlDecode)方法对字符进行编码(解码)的;
回复 点赞
php_wsd 2013年09月02日
因为这个要在服务器上使用,服务器没有php环境,只有asp.net环境。
回复 点赞
极简吧 2013年09月02日
应该在php里面转化为json字符串后,再转给C#,这样方便。
回复 点赞
发动态
发帖子
.NET技术社区
创建于2007-09-28

4.9w+

社区成员

66.8w+

社区内容

.NET技术交流专区
社区公告
暂无公告