JSON作为轻量级数据交换协议,受到了大家广泛的欢迎。
这两天做项目,用到了这个。
先说说技术选型,因为是个集成类的项目,但是同时需要支持Web android ios。综合技术平台支撑程度和技术的成熟性,同时考虑team 成员的技术背景,选择了JSON。
测试服务的发布,试用了gson,json-lib,jax-rs(cxf+spring).Struts2 也看了看,主要是和对方集成时对方使用了,并且出现了问题,才去研究的。 这估计也是java 讨厌的地方之一,open 所以实现太多,问题也会奇奇怪怪。
总体来说 java 侧,发布都不难。如果集成类项目建议jax-rs。读取简单用gson 和 json-lib 都好。gson 和 json-lib 准确说它们无法直接发布,一般借助servlet 或者其他web 框架发布。
碰到的问题:
[size=large][b]jquery 跨域读取[/b][/size]
先说说jquery几个函数,getjson,ajax,get,getscript。 这几个函数ajax是根的,参数最多也最复杂,但是这是根。建议先把这个函数搞清楚,再根据请求类型和请求的数据换别的函数。
异常提示:
Uncaught SyntaxError: Unexpected token :
说明:这个问题查了比较多资料,导致的原因比较多:html 写错了;json 数据格式不规范(双引号问题);
解决:重点察看ajax error 返回值。
比如我的 errorthrown 提示:jQuery18207671116073615849_1361933249616 was not called
第一反应,json格式问题。但是http response code 正常200;返回的数据解析json 也没问题。然后看数据格式 对方返回的content type 非json,建议对方换成applicaiton/json。问题依旧。
因为本地写过测试接口,没有问题。了解了对方发布机制,考虑可能是对方发布的问题。因为没有用过strus2发布,查了资料。http://blog.sina.com.cn/s/blog_6df7d3150100rmqh.html
建议对方增加参数。问题搞定。
个人认为Struts 发布不是很方便。如果用json-lib实现,需要在action里单独处理才能支持jsonp.
这两天做项目,用到了这个。
先说说技术选型,因为是个集成类的项目,但是同时需要支持Web android ios。综合技术平台支撑程度和技术的成熟性,同时考虑team 成员的技术背景,选择了JSON。
测试服务的发布,试用了gson,json-lib,jax-rs(cxf+spring).Struts2 也看了看,主要是和对方集成时对方使用了,并且出现了问题,才去研究的。 这估计也是java 讨厌的地方之一,open 所以实现太多,问题也会奇奇怪怪。
总体来说 java 侧,发布都不难。如果集成类项目建议jax-rs。读取简单用gson 和 json-lib 都好。gson 和 json-lib 准确说它们无法直接发布,一般借助servlet 或者其他web 框架发布。
碰到的问题:
[size=large][b]jquery 跨域读取[/b][/size]
先说说jquery几个函数,getjson,ajax,get,getscript。 这几个函数ajax是根的,参数最多也最复杂,但是这是根。建议先把这个函数搞清楚,再根据请求类型和请求的数据换别的函数。
异常提示:
Uncaught SyntaxError: Unexpected token :
说明:这个问题查了比较多资料,导致的原因比较多:html 写错了;json 数据格式不规范(双引号问题);
解决:重点察看ajax error 返回值。
比如我的 errorthrown 提示:jQuery18207671116073615849_1361933249616 was not called
第一反应,json格式问题。但是http response code 正常200;返回的数据解析json 也没问题。然后看数据格式 对方返回的content type 非json,建议对方换成applicaiton/json。问题依旧。
因为本地写过测试接口,没有问题。了解了对方发布机制,考虑可能是对方发布的问题。因为没有用过strus2发布,查了资料。http://blog.sina.com.cn/s/blog_6df7d3150100rmqh.html
建议对方增加参数。问题搞定。
个人认为Struts 发布不是很方便。如果用json-lib实现,需要在action里单独处理才能支持jsonp.

139

被折叠的 条评论
为什么被折叠?



