一、简介

org.json是Java常用的Json解析工具,主要提供JSONObject和JSONArray类,现在就各个类的使用解释如下。

二、准备

1.在使用org.json之前,我们应该先从该网址https://github.com/douglascrockford/JSON-java下载org.json源码,并将源码其加入到Eclipse中,即可调用。

2.查看相关的API文档,访问:https://github.com/douglascrockford/JSON-java。

https://github.com/stleary/JSON-Java-unit-test

三、讲解:

1.JSONObject:

  • 是一个无序的键/值对集合。

  • 它的表现形式是一个包裹在花括号的字符串,键和值之间使用冒号隔开,键值和键值之间使用逗号隔开。

  • 内在形式是一个使用get()和opt()方法通过键来访问值,和使用put()方法通过键来添加或者替代值的对象。

  • 值可以是任何这些类型:Boolean,JSONArray,JSONObject,Number和String,或者JOSONObject.NULL对象。

代码演示如下:

  1. public static void jsonObjectTest() {
  2. ᅠ ᅠ JSONObject jsonobj = new JSONObject("{'name':'xiazdong','age':20}");
  3. String name = jsonobj.getString("name");
  4. ᅠ ᅠ int age = jsonobj.getInt("age");
  5. System.out.println("name = " + name + ",age = " + age);
  6. }

注:JSONObject有很多optXXX方法,比如optBoolean, optString, optInt...

他们的意思是,如果这个jsonObject有这个属性,则返回这个属性,否则返回一个默认值。

2.JSONArray:

  • 是一个有序的序列值。

  • 它的表现形式是一个包裹在方括号的字符串,值和值之间使用逗号隔开。

  • 内在形式是一个使用get()和opt()方法通过索引来访问值,和使用put()方法来添加或修改值的对象。

  • 值可以是任何这些类型:Boolean,JSONArray,JSONObject,Number,和String,或者JSONObject.NULL对象。

代码演示如下:

  1. public static void jsonArrayTest() {
  2. ᅠ ᅠ JSONArray jsonarray = new JSONArray("[{'name':'xiazdong','age':20},{'name':'xzdong','age':15}]");
  3. ᅠ ᅠ for (int i = 0; i < jsonarray.length(); i++) {
  4. ᅠ ᅠ ᅠ ᅠᅠJSONObject jsonobj = jsonarray.getJSONObject(i);
  5. String name = jsonobj.getString("name");
  6. int age = jsonobj.getInt("age");
  7. System.out.println("name = " + name + ",age = " + age);
  8. }
  9. }

嵌套的JSONObject和JSONArray代码演示如下:

  1. public static void jsonObjectAndArrayTest() {
  2. ᅠ ᅠ String jsonstring = "{'name':'xiazdong','age':20,'book':['book1','book2']}";
  3. ᅠ ᅠ JSONObject jsonobj = new JSONObject(jsonstring);
  4. String name = jsonobj.getString("name");
  5. ᅠ ᅠ System.out.println("name" + ":" + name);
  6. int age = jsonobj.getInt("age");
  7. System.out.println("age" + ":" + age);
  8. ᅠ ᅠ JSONArray jsonarray = jsonobj.getJSONArray("book");
  9. ᅠ ᅠ for (int i = 0; i < jsonarray.length(); i++) {
  10. String book = jsonarray.getString(i);
  11. ᅠ ᅠ ᅠ ᅠ System.out.println("book" + i + ":" + book);
  12. }
  13. }

3.JSONStringer:

  • 是一个用于快速构造JSON文本的工具

  • JSONWriter的子类

  • bject():开始一个对象,即添加{;enObject():结束一个对象,即添加}

  • array():开始一个数组,即添加[; endArray():结束一个数组,即添加]

  • key():表示添加一个key;value():表示添加一个value

代码演示如下:

  1. public static void jsonStringerTest() {
  2. ᅠ ᅠ JSONStringer stringer = new JSONStringer();
  3. stringer.object().key("name").value("xiazdong").key("age").value(20).endObject();
  4. ᅠ ᅠ System.out.println(stringer);
  5. }

负载的JSON格式写演示(PrintWriter+JSONStringer可以写入JSON文件):

  1. public static void jsonStringerTest2() throws FileNotFoundException {
  2. ᅠ ᅠ JSONStringer jsonStringer = new JSONStringer();
  3. ᅠ ᅠ JSONObject obj6 = new JSONObject();
  4. obj6.put("title", "book1").put("price", "$11");
  5. ᅠ ᅠ JSONObject obj3 = new JSONObject();
  6. obj3.put("book", obj6);
  7. ᅠ ᅠ obj3.put("author", new JSONObject().put("name", "author-1"));
  8. ᅠ ᅠ JSONObject obj5 = new JSONObject();
  9. obj5.put("title", "book2").put("price", "$22");
  10. ᅠ ᅠ JSONObject obj4 = new JSONObject();
  11. obj4.put("book", obj5);
  12. ᅠ ᅠobj4.put("author", new JSONObject().put("name", "author-2"));
  13. ᅠ ᅠ JSONArray obj2 = new JSONArray();
  14. obj2.put(obj3).put(obj4);
  15. ᅠ ᅠ JSONObject obj1 = new JSONObject();
  16. obj1.put("title", "BOOK");
  17. obj1.put("signing", obj2);
  18. jsonStringer.object().key("session").value(obj1).endObject();
  19. System.out.println(jsonStringer.toString());
  20. ᅠ ᅠ PrintWriter out = new PrintWriter(new FileOutputStream("1.txt"));
  21. ᅠ ᅠ out.println(jsonStringer.toString());
  22. out.close();
  23. }

4.JSONTokener 

  • 它和JSONObject和JSONArray的构造函数一起使用,用于解析JSON源字符串

代码演示如下(JSONObject+JSONTokener能够获取JSON格式文本对象):

  1. public static void JSONTokenerTest() throws FileNotFoundException {
  2. JSONObject jsonobj = new JSONObject(new JSONTokener(new FileReader(new File("1.txt"))));
  3. System.out.println(jsonobj.getJSONObject("session").getJSONArray("signing").getJSONObject(1).getJSONObject("book").getString("title"));
  4. }

注意:在Java中,JSON格式的字符串最好用单引号表示

JSON in Java [package org.json]

JSON is a light-weight, language independent, data interchange format.
See http://www.JSON.org/ The files in this package implement JSON encoders/decoders in Java.
It also includes the capability to convert between JSON and XML, HTTP
headers, Cookies, and CDL. This is a reference implementation. There is a large number of JSON packages
in Java. Perhaps someday the Java community will standardize on one. Until
then, choose carefully. The license includes this restriction: "The software shall be used for good,
not evil." If your conscience cannot live with that, then choose a different
package. The package compiles on Java 1.6-1.8. JSONObject.java: The JSONObject can parse text from a String or a JSONTokener
to produce a map-like object. The object provides methods for manipulating its
contents, and for producing a JSON compliant object serialization. JSONArray.java: The JSONObject can parse text from a String or a JSONTokener
to produce a vector-like object. The object provides methods for manipulating
its contents, and for producing a JSON compliant array serialization. JSONTokener.java: The JSONTokener breaks a text into a sequence of individual
tokens. It can be constructed from a String, Reader, or InputStream. JSONException.java: The JSONException is the standard exception type thrown
by this package. JSONPointer.java: Implementation of
[JSON Pointer (RFC 6901)](https://tools.ietf.org/html/rfc6901). Supports
JSON Pointers both in the form of string representation and URI fragment
representation. JSONString.java: The JSONString interface requires a toJSONString method,
allowing an object to provide its own serialization. JSONStringer.java: The JSONStringer provides a convenient facility for
building JSON strings. JSONWriter.java: The JSONWriter provides a convenient facility for building
JSON text through a writer. CDL.java: CDL provides support for converting between JSON and comma
delimited lists. Cookie.java: Cookie provides support for converting between JSON and cookies. CookieList.java: CookieList provides support for converting between JSON and
cookie lists. HTTP.java: HTTP provides support for converting between JSON and HTTP headers. HTTPTokener.java: HTTPTokener extends JSONTokener for parsing HTTP headers. XML.java: XML provides support for converting between JSON and XML. JSONML.java: JSONML provides support for converting between JSONML and XML. XMLTokener.java: XMLTokener extends JSONTokener for parsing XML text. Unit tests are maintained in a separate project. Contributing developers can test
JSON-java pull requests with the code in this project:
https://github.com/stleary/JSON-Java-unit-test
package com.json;

import java.text.ParseException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject; /**
* 使用json-lib构造和解析Json数据
*
* @author Alexia
* @date 2013/5/23
*
*/
public class OrgJsonTest { /**
* 构造Json数据
*
* @return
* @throws JSONException
*/
public static String BuildJson() throws JSONException { // JSON格式数据解析对象
JSONObject jo = new JSONObject(); // 下面构造两个map、一个list和一个Employee对象
Map<String, String> map1 = new HashMap<String, String>();
map1.put("name", "Alexia");
map1.put("sex", "female");
map1.put("age", "23"); Map<String, String> map2 = new HashMap<String, String>();
map2.put("name", "Edward");
map2.put("sex", "male");
map2.put("age", "24"); List<Map> list = new ArrayList<Map>();
list.add(map1);
list.add(map2); Employee employee = new Employee();
employee.setName("wjl");
employee.setSex("female");
employee.setAge(24); // 将Map转换为JSONArray数据
JSONArray ja = new JSONArray();
ja.put(map1); System.out.println("JSONArray对象数据格式:");
System.out.println(ja.toString()); // 将Javabean转换为Json数据(需要Map中转)
JSONObject jo1 = JsonHelper.toJSON(employee); System.out.println("\n仅含Employee对象的Json数据格式:");
System.out.println(jo1.toString()); // 构造Json数据,包括一个map和一个含Employee对象的Json数据
jo.put("map", ja);
jo.put("employee", jo1.toString());
System.out.println("\n最终构造的JSON数据格式:");
System.out.println(jo.toString()); return jo.toString(); } /**
* 解析Json数据
*
* @param jsonString
* Json数据字符串
* @throws JSONException
* @throws ParseException
*/
public static void ParseJson(String jsonString) throws JSONException,
ParseException { JSONObject jo = new JSONObject(jsonString);
JSONArray ja = jo.getJSONArray("map"); System.out.println("\n将Json数据解析为Map:");
System.out.println("name: " + ja.getJSONObject(0).getString("name")
+ " sex: " + ja.getJSONObject(0).getString("sex") + " age: "
+ ja.getJSONObject(0).getInt("age")); String jsonStr = jo.getString("employee");
Employee emp = new Employee();
JsonHelper.toJavaBean(emp, jsonStr); System.out.println("\n将Json数据解析为Employee对象:");
System.out.println("name: " + emp.getName() + " sex: " + emp.getSex()
+ " age: " + emp.getAge()); } /**
* @param args
* @throws JSONException
* @throws ParseException
*/
public static void main(String[] args) throws JSONException, ParseException {
// TODO Auto-generated method stub ParseJson(BuildJson());
} }

运行结果如下

aaarticlea/png;base64,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" alt="" />

五、与json-lib比较

json-lib和org.json的使用几乎是相同的,我总结出的区别有两点:

1. org.json比json-lib要轻量得多,前者没有依赖任何其他jar包,而后者要依赖ezmorph和commons的lang、logging、beanutils、collections等组件

2. json-lib在构造bean和解析bean时比org.json要方便的多,json-lib可直接与bean互相转换,而org.json不能直接与bean相互转换而需要map作为中转,若将bean转为json数据,首先需要先将bean转换为map再将map转为json,比较麻烦。

总之,还是那句话—适合自己的才是最好的,大家要按需选取使用哪种方法进行解析。最后给大家介绍两款解析Json数据的工具:一是在线工具JSON Edit(http://braincast.nl/samples/jsoneditor/);另一个是Eclipse的插件JSON Tree Analyzer,都很好用,推荐给大家使用!

http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html

Java:JSON解析工具-org.json的更多相关文章

  1. JSON解析工具-org.json使用教程

    转自:http://www.open-open.com/lib/view/open1381566882614.html 一.简介  org.json是Java常用的Json解析工具,主要提供JSONO ...

  2. JSON 解析工具的封装(Java)

    JSON 解析工具的封装(Java) 一直想有一个属于自己的JSON工具,今天终于弄好了..... 1.添加pom依赖包 <!--json解析--> <dependency> ...

  3. java后台常用json解析工具问题小结

    若排版紊乱可查看我的个人博客原文地址 java后台常用json解析工具问题小结 这里不细究造成这些问题的底层原因,只是单纯的描述我碰到的问题及对应的解决方法 jackson将java对象转json字符 ...

  4. Json解析工具Jackson(使用注解)

    原文http://blog.csdn.net/nomousewch/article/details/8955796 接上一篇文章Json解析工具Jackson(简单应用),jackson在实际应用中给 ...

  5. 自定义Json解析工具

    此博客为博主原创文章,转载请标明出处,维权必究:https://www.cnblogs.com/tangZH/p/10689536.html fastjson是很好用的json解析工具,只可惜项目中要 ...

  6. JSON解析工具比较,主要GSON和FastJSON

    JSON解析工具比较,主要GSON和FastJSON 一 .各个JSON技术的简介和优劣 1.json-lib json-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确 ...

  7. [转] 各种Json解析工具比较 - json-lib/Jackson/Gson/FastJson

    JSON技术的调研报告 一 .各个JSON技术的简介和优劣1.json-libjson-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包,包括com ...

  8. Gson json解析工具

    json 解析工具 ,谷歌出品 对象转换字符串 HashMap<String,String> hashMap = new HashMap<String, String>();  ...

  9. Json解析工具Jackson(使用注解)--jackson框架自定义的一些json解析注解

    Json解析工具Jackson(使用注解)--jackson框架自定义的一些json解析注解 @JsonIgnoreProperties 此注解是类注解,作用是json序列化时将Javabean中的一 ...

随机推荐

  1. [D3] Create DOM Elements with D3 v4

    Change is good, but creating from scratch is even better. This lesson shows you how to create DOM el ...

  2. Iceberg使用

    Iceberg是Mac下比較好用的pkg生成工具. 在files中选择你想要存放(自己文件的目录),生成pkg后目录就会存储在设置的那个目录下. 点击scripts选择pkg安装各个阶段所要运行脚本路 ...

  3. Android ---------- Android Bar Bug 总结

    1 怎样设置 ActionBar的Tab 的颜色? // 设置actionBar的颜色 Drawable draw = new ColorDrawable(Color.GREEN); actionBa ...

  4. Css fixed和absolute定位差别

    fixed:固定定位 absolute:绝对定位 差别非常easy: 1.没有滚动栏的情况下没有差异 2.在有滚动栏的情况下.fixed定位不会随滚动栏移动而移动.而absolute则会随滚动栏移动 ...

  5. 【例题 6-2 UVA - 514】Rails

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 栈模拟一下就好. 每个输出段后面都有一个空行. 包括最后一个. [代码] #include <bits/stdc++.h> ...

  6. 可视化格式模型(visual formatting model)

    原文 简书原文:https://www.jianshu.com/p/7632f16ff555 大纲 1.认识可视化模型 2.可视化模型的内容 3.可视化模型的影响因素 1.认识可视化模型 盒子模型是C ...

  7. ZOJ 1136 Longest Ordered Subsequence DP

    传送门:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1136 题目大意:给定一串序列,求最长的升序列长度,如1, 7, 3, ...

  8. 【BZOJ 3156】防御准备

    [链接] 链接 [题意] 在这里输入题意 [题解] 把a倒过来 设f[i]表示在i放一个防御塔的最小花费; 我们如果从j转移过来 就表示j+1..i-1这一段放人偶. s[i] = 1 + 2 + . ...

  9. css3-11 如何实现2D动画

    css3-11 如何实现2D动画 一.总结 一句话总结:就是transform属性,属性值为1.translate()    2.rotate()    3.scale(),而这是哪个属性值是带参数的 ...

  10. js进阶课程ajax简介(ajax是浏览器来实现的)

    js进阶课程ajax简介(ajax是浏览器来实现的) 一.总结 1.ajax使用需要服务器支持,比如phpstudy 2.ajax是浏览器支持的功能:ajax有个核心对象XMLHttpRequest, ...