Chinaunix首页 | 论坛 | 博客
  • 博客访问: 167928
  • 博文数量: 36
  • 博客积分: 2160
  • 博客等级: 大尉
  • 技术积分: 382
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-27 01:48
个人简介

喝喝咖啡,做做开发

文章分类
文章存档

2014年(4)

2013年(1)

2012年(4)

2011年(2)

2010年(3)

2009年(9)

2008年(3)

2007年(10)

我的朋友

分类: 系统运维

2009-12-19 23:46:23

    这几天在解析开心网争车位的消息时,发现开心网的争车位页面和FLASH在传递消息时,返回了一种未见过的数据格式,后来网上一查,是JSON,一种轻量级的数据交换格式,原英文名为JavaScript Object Notation,易于人阅读和编写。同时也易于机器解析和生成。
       在传递少量的数据时,用JSON格式,看来是很不错的选择。又在网上搜了一番,找到一个组件Newtonsoft.Json.dll,说是可以解析JSON格式数据,加载进去,开始果然解析的不错,不过,当出现unicode编码字符串,就发现不好使了。该组件直接把unicode编码字符串中的\u直接略过,只返回了一串16进制数。如果只有汉字,倒还好转换,但如果加上英文和数字就难办了,不知道从哪里区分出英文和数字。解决的一个办法就是,在传递给Newtonsoft.Json.dll组件unicode字符串之前,先将字符串做一个\u的替换操作。如:str.Replace("\\u", "\\\\u");这样经解析过后的JSON格式数据,就会保留\u在字符串中,在转换时,只要逐个unicode字进行转换就行了。
      经过这些改造,也可以正常运行在我的争车位小帮手程序里。
      微软的.net 3.5里面也有JSON格式的解析类,但必须要有.net 3.5才行。除了这个功能之外,其他都可以在.net 2.0上运行,弃之未用。
阅读(633) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~