`
Teok
  • 浏览: 147869 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

近期使用json总结的一些小技巧

阅读更多
json的确是一个非常方便的轻便的数据交换格式,最近项目中使用,使我深有体会。现在把工作中总结和学到的几个点归纳到一起。
1.常用的json服务器端解析工具包是:net.sf.json和org.json,我并没有完整的去了解这2个包,每个包都有不同的特点。有时我们需要对前台传递进来的字符串数据在后台进行解析并转换成bean,这是,就不得不二者配合起来使用,因为net.sf.json是不能将json like的字符串解析成json对象的,而org.json却可以,但是后者却又不能将json对象转换成bean。所以二者配合可以解决这样的需求。我写的简单转换方法如下:
/**
	 * 将json like字符串转换成net.sf.json.JSONObject对象
	 * @param target
	 * @return
	 * @throws JSONException
	 */
	@SuppressWarnings("unchecked")
	public static JSONObject strToJson(String target) throws JSONException{
		JSONObject result = new JSONObject();
		if(!JSONUtils.mayBeJSON(target)){
			throw new IllegalArgumentException("String:"+target+",is not likely a json formated string.");
		}
		else{
			org.json.JSONObject json = new org.json.JSONObject(target);
			Iterator<String> iter = json.keys();
			while(iter.hasNext()){
				String key = iter.next();
				result.put(key, json.get(key));
			}
		}
		return result;
	}

最理想的结果是,前台传递到业务层的数据,就是可以直接持久化到数据库的数据,这样CRUD操作将会非常轻松。当然,这是一种比较笨的模拟Rails的ActiveRecord的方法了(导致视图层参杂了过多的业务逻辑,非常不安全的说)。
2.记住2个net.sf.json(这个包比org.json常用)类的实例的toString结果:
JSONArray实例toString()之后为:[["aaa", 222, 333, ...], [...], [...], [...]]
JSONObject实例toString()之后为:{"aaa": "111", "bbb": "222", ...}
结果字符串发送到前台之后只需要用eval方法去转换一下就行了.
当然实际使用中可以定义比较复杂的结构。
分享到:
评论

相关推荐

    常用小技巧

    特此声明:这里的内容都是以往工作中总结的一些小技巧,以js为主,可以直接拿来使用,主要为了方便自己查阅,对其他人来说可能查阅不便,所以资源分较高,避免下载后失望。

    Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结

    主要介绍了Vue指令v-for遍历输出JavaScript数组及json对象的常见方式,结合实例形式总结分析了vue.js使用v-for指令遍历输出js数组与json对象的常见操作技巧,需要的朋友可以参考下

    总结Python编程中三条常用的技巧

    在 python 代码中可以看到一些常见的 trick,在这里做一个简单的小结。 json 字符串格式化 在开发 web 应用的时候经常会用到 json 字符串,但是一段比较长的 json 字符串是可读性较差的,不容易看出来里面结构的。 ...

    30条android项目开发技巧与经验总结

    2、使用json用作网络数据传输时,应该使用String字段取代int字段。 3、按照现在正常密度比(系统的densityDPI根据分辨率和屏幕尺寸为正常的120、160、240、320、480、640时)9:16的安卓机其尺寸为(360dp*540dp)。...

    java 精美 多人聊天系统

    2、其中所有涉及底层文件保存和用户信息保存采用了文件读写(该部分十分重要,是整个系统正常运作的基础,该部分由...效果展示图和更多小技巧尽在:http://blog.csdn.net/ahmclishihao/article/details/52732698

    Ext Js权威指南(.zip.001

    1.2.4 在javascript中使用json / 4 1.2.5 在.net中使用json / 8 1.2.6 在java中使用json / 12 1.2.7 更多有关json的信息 / 15 1.3 ext js 4概述 / 15 1.4 ext js的开发工具的获取、安装与配置介绍 / 18 1.4.1...

    JS常用函数和常用技巧小结

    学习和工作的过程中总结的干货,包括常用函数、常用js技巧、常用正则表达式、git笔记等。为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路。 Ajax请求 jquery ajax函数 我自己封装了一...

    精通AngularJS part1

    防止JSON注入攻击197 防止跨站请求伪造198 74客户端安全198 创建security服务199 显示登录表单200 创建安全的菜单及工具栏201 隐藏菜单项201 创建登录工具栏202 75支持客户端认证203 处理认证失败203 拦截...

    ASP.NET MVC 3高级编程

    1.1.9 asp.net mvc 3特性总结 10 1.2 创建asp.net mvc 3应用程序 10 1.2.1 创建asp.net mvc 3应用程序的软件要求 11 1.2.2 安装asp.net mvc 3 11 1.2.3 创建asp.net mvc 3应用程序 12 1.2.4 new asp.net mvc 3 ...

    compliance-utils:在日常合规工作中混杂其他小工具

    合规性实用程序在日常合规工作中混杂其他小工具Yocto相关工具尤达yoda分析Yocto构建期间生成的各种文件,并生成以下任一文件: 内置映像中的软件包列表包含有关软件包信息的文件yoda使用此工具,可能是您应该研究的...

Global site tag (gtag.js) - Google Analytics