org.json 是JSON国际组织官方推出的标准json解析方案,已经被 android sdk 纳入到标准内置类库,依赖项少,但直至API17版本SDK中,仅支持JSONObject与JSONArray、Map、List、String、Boolean、Integer等基本类型对象,适合简单开发调用。

——————————————2014年6月16日 补充————————————————

org.json 也有独立可在JAVA SE环境下使用的包,除了上述android自带包提供的功能以外,还通过XML、Cookie、HTTP等一系列新增加的类,提供额外的JSON到XML、Cookie、HTTP头、JSONML等双向转换功能,非常实用!

官方说明文档(在线doc):http://www.json.org/java/index.html

源代码:https://github.com/douglascrockford/JSON-java

————————————————————————————————————————

json-lib 是另外一个开源项目,需要自行下载,依赖项较多,除org.json所支持的对象外,还直接支持基本类型数组、对象数组、json<->xml 格式转换、json<->自定义Class(Bean) 转换等功能,适合复杂的扩展调用开发。

依赖项:

commons-collections.jar 
commons-lang.jar 
commons-logging.jar 
commons-beanutils.jar 
ezmorph.jar 
xom.jar

具体使用方式请自行百度,或参阅推荐博文。

——————————————2014年6月16日 补充————————————————

调查资料发现,json-lib比较老旧,由于自身的众多bug、依赖多、API繁琐、处理效率低下等问题,官方已经停止维护并逐渐被淘汰。

转而一个称为jackson的项目,因为效率高、依赖少,社区活跃,文档齐全,很快成为替代json-lib的主流。

后来,为了追求极致的速度,阿里巴巴团队研制了一个叫FastJson的json处理库,得益于独创的算法,转换速度据称超越目前所有json处理框架。

关于FastJson,推荐两个入门博文:

http://blog.sina.com.cn/s/blog_7ffb8dd501013qas.html

http://blog.csdn.net/wutongyu344/article/details/7321591

源代码:https://github.com/alibaba/fastjson

官方中文wiki:https://github.com/Alibaba/fastjson/wiki/首页

————————————————————————————————————————

JSON 国际官方组织网站:

http://www.json.org/

该网站下包含各种编程语言环境下所有公开的知名JSON处理包、类库等资源,强烈建议仔细研究!

推荐博文:

Json-lib快速上手

JSONObject与JSONArray的使用

org.json与json-lib的区别

org.json与json-lib的区别(补充 FastJson)的更多相关文章

  1. json字符串和字典的区别补充

    json字符串和字典的区别:json:(JavaScript Object Notation)的首字母缩写,字面的意思是(javascript对象表示法),这里说的json指的是类似于javascri ...

  2. JSON.parse和eval的区别

    JSON.parse和eval的区别 JSON(JavaScript Object Notation)是一种轻量级的数据格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是Jav ...

  3. JSON.parse() JSON.stringify() eval() jQuery.parseJSON() 的区别

    http://www.jb51.net/article/81880.htm    :   jQuery.parseJSON(jsonString) : 将格式完好的JSON字符串转为与之对应的Java ...

  4. 理清JS数组、json、js对象的区别与联系

    最近在敲代码时,遇上了一个关于JS数组的问题,由此引发了关于对象和json的联想,曾经觉得很畅顺的知识点突然模糊了.于是,为了理清这些东西,有了如下这篇文章.觉得没问题的猿们可以当复习,而那些带着疑问 ...

  5. json和xml的两者区别

    服务器端返回给客户端的数据一般都是JSON格式,JSON数据以键值的形式保存,数据之间以逗号分隔,{}表示对象,[]表示数组.JSON数据解析方案有四种,JSONKit,SBJson,TouchJso ...

  6. JSON与JS对象的区别

    <script> var obj2={};//这只是JS对象 var obj3={width:100,height:200};/*这跟JSON就更不沾边了,只是JS的 对象 */ var ...

  7. json和jsonp的使用区别

    json和jsonp的使用区别 一.    跨域请求的概念 JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象. 二.    json和jsonp JSON是一种基于文本的数据交换方 ...

  8. gitlab无法push或clone的错误:JWT::DecodeError (Nil JSON web token): lib/gitlab/workhorse.rb:120:in `verify_api_request!'

    使用源码安装的方式升级gitlib7.14到gitlab-8.13.5中文版,然后push的时候报错: 错误信息如下: Started GET "/gitlab/hushizhi/gitla ...

  9. package.json中dependencies和devDependencies区别

    package.json中dependencies和devDependencies区别 dependencies: 应用能够正常运行依赖的包.用户发布环境,依赖的包不仅开发环境能够使用,生产环境也能使 ...

随机推荐

  1. kafka概述

    kafka概述 Apache Kafka是一个开源 消息 系统,由Scala写成.是由Apache软件基金会开发的一个开源消息系统项目. Kafka最初是由LinkedIn开发,并于2011年初开源. ...

  2. vuls安装记录

    第一步安装go环境apt-get install golang-go(显示出错,go版本apt安装太低,apt-get purge golang-go卸载后手动安装,必须1.8.3以上) 还需将/us ...

  3. Linux编程之Epoll高并发

    网络上所有资料都说epoll是高并发.单线程.IO重叠服用的首选架构,比select和poll性能都要好,特别是在有大量不活跃连接的情况下.具体原理就不阐述了,下面说说使用. 具有有三个函数: #in ...

  4. 【动态规划】[UVA1025]A Spy in the Metro 城市里的间谍

    参考:https://blog.csdn.net/NOIAu/article/details/71517440 https://blog.csdn.net/c20180630/article/deta ...

  5. Java线程和多线程(十)——TimerTask

    Java中的java.util.Timer是一个工具类,可以用于调度一个线程在将来的某一个时刻执行特定的任务.Java Timer类可以将一个任务定时执行一次,或者是以后以每隔一定的时间间隔来触发一次 ...

  6. Python未彻底测试的项目

    第一 socket 第二 twisted 第三 tornado 第四 微信网页版本登录 第五:进程,线程,协程间关系 第六:TCP三次握手 第七:堡垒机 第八:重写django admin

  7. C#读写txt文件的两种方法介绍 v

    C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...

  8. jmeter使用beanshell构造参数化

    1.先在本地写一个java类,用来随机生成一个数字,如: package com.jmeter.test; public class BeanShellTest { public int getRan ...

  9. C#3DES加密了解一下

    最近一个项目中,因为服务端是用的java开发的,客户端是用的C#,由于通信部分采用到了3DES加密,所以做个记录,以备以后需要的时候直接用. 这是对方(java)的加密算法,和网上流传的代码也差不多( ...

  10. C++知识点 内存占用问题

    有一次去面试,谈的挺好的,被人问了一个问题,瞬间暴露自己基础能力弱的弱点了,这里自己记录下,以后慢慢长进. 问题 char test1[]={1,2,3,4}; char test2[]={1,2,3 ...