Java:JSON解析工具-org.json

一、简介

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());
} }
Java:JSON解析工具-org.json

运行结果如下

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

上一篇:IOS开发之UINavigationBar


下一篇:几种Java的JSON解析库速度对比