`
Teok
  • 浏览: 151643 次
  • 性别: 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方法去转换一下就行了.
当然实际使用中可以定义比较复杂的结构。
分享到:
评论

相关推荐

    Spark SQL操作JSON字段的小技巧

    总结来说,Spark SQL提供了强大的工具来解析和操作JSON数据,包括 `get_json_object` 用于提取单个字段,`from_json` 用于根据模式解析JSON,以及 `to_json` 用于将数据转化为JSON格式。随着Spark SQL对JSON支持的...

    将富文本转为微信小程序richtext组件支持的json格式

    总结来说,将富文本转换为微信小程序`rich-text`组件支持的JSON格式是微信小程序富文本展示的核心步骤。这个过程涉及到JavaScript编程、DOM操作、正则表达式、性能优化、安全防护等多个方面,需要开发者具备一定的...

    代码JSON——test_c#json_JSON_unity_

    总结,Unity结合C#处理JSON数据是开发过程中的常见操作,理解并熟练运用这些技巧,能帮助开发者更高效地实现游戏逻辑和数据交互。通过不断实践和学习,你将能够更好地掌握JSON在Unity中的应用。

    fastBinaryJSON_JSON_fast.json_binaryjson_

    同时,FBJSON还使用了一些编码技巧,如变长整数编码,以减小数据大小。 ### 4. 使用FastBinaryJSON 在实际项目中,开发者可以使用FBJSON提供的API进行JSON数据的序列化和反序列化。以下是一般步骤: 1. 序列化:...

    跟益达学Solr5之批量索引JSON数据

    在Solr5中批量索引JSON数据是一项重要的操作,理解其工作原理和优化技巧能大幅提升数据处理效率。通过合理的设计和配置,Solr可以帮助我们构建一个强大、高效的全文搜索引擎,为业务发展提供有力支撑。

    lotus domino BS开发 分类输出json

    总结来说,Lotus Domino BS开发中,通过JSON进行数据交换是常用的方法,它允许我们高效地获取和处理服务器上的数据,同时提供了灵活的筛选和分页功能。理解并熟练运用这些技巧,能够提高开发效率,优化用户体验。

    JSON遍历方式实例总结

    在JavaScript中,我们可以利用不同的方法来遍历JSON对象或数组,这里结合具体的实例来详细总结了几种常见的遍历技巧。 1. 使用for循环进行遍历 for循环是JavaScript中最基本的循环结构之一,适用于遍历数组元素。在...

    .net&VS;&SqlServer;编程小技巧经验总结

    ### .NET & VS & SQL Server 编程小技巧经验总结 #### 一、C#编程技巧 ##### EF中视图建模 在使用Entity Framework (EF) 进行数据库建模时,如果需要将数据库中的视图映射到实体类中,可能会遇到一个问题:当视图...

    IDEA一些有用的小技巧

    ### IDEA一些有用的小技巧 #### 一、简介 在日常的开发工作中,IntelliJ IDEA(简称IDEA)作为一款非常强大的Java集成开发环境,深受广大开发者喜爱。它不仅提供了丰富的功能来提升开发效率,还拥有许多隐藏的小...

    sajson JSON parser for C++11

    例如,它使用了基于位操作的技巧来快速检查字符是否属于JSON的保留字符集,以及使用紧凑的数据结构来减少内存占用。这些优化措施确保了`sajson`在解析速度和资源利用率上的优秀表现。 **使用示例** 在使用`sajson`...

    自学json可以使资料来自于网络.txt

    ### 自学JSON基础知识点 #### 一、JSON简介 **JSON**(JavaScript Object Notation,...掌握JSON的基本语法和使用技巧对于任何开发者来说都是非常重要的。通过本篇内容的学习,希望能帮助大家更好地理解和使用JSON。

    jQuery实现使用sort方法对json数据排序的方法

    本文介绍了如何使用jQuery结合JavaScript的sort方法来对JSON数据进行排序,并且涉及到如何通过ajax动态载入JSON数据并进行排序的技巧。 首先,我们来了解一下基本的排序原理。在JavaScript中,Array对象的sort方法...

    J2EE中JSON+Jquery_AJAX应用

    总结来说,"J2EE中JSON+Jquery_AJAX应用"的结合使用,能够实现高效、用户友好的Web应用,提供无缝的数据交换和页面动态更新功能。在实际开发中,理解并熟练掌握这些技术,对于提升J2EE应用的用户体验和性能至关重要...

    jQuery实现简单复制json对象和json对象集合操作示例

    此外,文档中还提到了几个与jQuery相关的专题,分别是《jQuery操作json数据技巧汇总》、《jQuery常用插件及用法总结》、《jQuery扩展技巧总结》和《jquery选择器用法总结》。这些专题内容丰富,涵盖了jQuery操作JSON...

    Android开发技巧和用例总结

    在Android开发领域,掌握一些关键的技巧和实用案例可以极大地提升开发效率和代码质量。这份“Android开发技巧和用例总结”涵盖了多个方面,旨在帮助开发者深入理解和运用Android平台的各种特性。 1. **布局优化**:...

    Go语言的JSON处理详解

    使用`json.Marshal()`函数将`gobook`实例生成一段JSON格式的文本: ```go b, err := json.Marshal(gobook) if err != nil { // 处理错误 } fmt.Println(string(b)) ``` 输出结果为: ```json {"title":"Go in ...

    jQuery解析Json实例详解

    4. 处理非标准JSON字符串:在实际应用中,可能会遇到一些不符合严格JSON格式的字符串(例如属性使用单引号而不是双引号)。jQuery的parseJSON方法在这种情况下会抛出语法异常。因此,当需要处理非标准JSON时,开发者...

    JS动态遍历json中所有键值对的方法(不知道属性名的情况)

    - **JavaScript中json操作技巧总结**:涵盖JSON的创建、解析、序列化等基本操作。 - **JavaScript查找算法技巧总结**:了解如何在JSON数据中搜索特定信息。 - **JavaScript错误与调试技巧总结**:帮助定位和修复在...

    微信小程序城市切换效果源码

    总结来说,微信小程序城市切换效果的实现涵盖了地理定位、数据操作、用户交互等多个技术点,是微信小程序开发中的一个实用功能。通过研究和实践这个源码,开发者可以更好地掌握微信小程序的开发技巧,为自己的小程序...

    LitJson.dll

    总结一下,LitJson是一个轻量级且高效的开源JSON库,适合.NET开发者在处理JSON数据时使用。它提供了简单的API,使JSON与.NET对象之间的转换变得直观易用,同时也支持自定义类型转换和文件操作。尽管对于大型JSON数据...

Global site tag (gtag.js) - Google Analytics