`

org.json

    博客分类:
  • Json
阅读更多

转两篇

 

http://blog.csdn.net/zerolwp/article/details/5859325

 

http://popwang.iteye.com/blog/1055058

 

package org.json;

import junit.framework.TestCase;

public class Test extends TestCase {

	/*{
	"JSONArray": [],
	"JSONObject": {},
	"String": "98.6",
	"\\u2028": "\u2028",
	"\\u2029": "\u2029",
	"bool": "true",
	"double": 1.2345678901234568E29,
	"false": false,
	"foo": [
	    true,
	    false,
	    9876543210,
	    0,
	    1.00000001,
	    1.000000000001,
	    1,
	    1.0E-17,
	    2,
	    0.1,
	    2.0E100,
	    -32,
	    [],
	    {},
	    "string",
	    666,
	    2001.99,
	    "so \"fine\".",
	    "so <fine>.",
	    true,
	    false,
	    [],
	    {}
	],
	"int": 57,
	"keys": [
	    "foo",
	    "op",
	    "String",
	    "JSONObject",
	    "\\u2028",
	    "ten",
	    "true",
	    "int",
	    "bool",
	    "\\u2029",
	    "to",
	    "double",
	    "JSONArray",
	    "null",
	    "zero",
	    "false"
	],
	"null": null,
	"op": "Good",
	"ten": 10,
	"to": null,
	"true": true,
	"zero": -0
	}
	String: 98.6
	bool: true
	to: null
	true: true
	foo: [true,false,9876543210,0,1.00000001,1.000000000001,1,1.0E-17,2,0.1,2.0E100,-32,[],{},"string",666,2001.99,"so \"fine\".","so <fine>.",true,false,[],{}]
	op: Good
	ten: 10
	oops: false
	*/
	public void testReadJSON() {
		JSONArray jsonArray;
		JSONObject jsonObj;
		try {
			jsonObj = new JSONObject(
					"{foo: [true, false,9876543210,    0.0, 1.00000001,  1.000000000001, 1.00000000000000001,"
							+ " .00000000000000001, 2.00, 0.1, 2e100, -32,[],{}, \"string\"], "
							+ "  to   : null, op : 'Good',"
							+ "ten:10} postfix comment");

			jsonObj.put("String", "98.6");
			jsonObj.put("JSONObject", new JSONObject());
			jsonObj.put("JSONArray", new JSONArray());
			jsonObj.put("int", 57);
			jsonObj.put("double", 123456789012345678901234567890.);
			jsonObj.put("true", true);
			jsonObj.put("false", false);
			jsonObj.put("null", JSONObject.NULL);
			jsonObj.put("bool", "true");
			jsonObj.put("zero", -0.0);
			jsonObj.put("\\u2028", "\u2028");
			jsonObj.put("\\u2029", "\u2029");
			jsonArray = jsonObj.getJSONArray("foo");
			jsonArray.put(666);
			jsonArray.put(2001.99);
			jsonArray.put("so \"fine\".");
			jsonArray.put("so <fine>.");
			jsonArray.put(true);
			jsonArray.put(false);
			jsonArray.put(new JSONArray());
			jsonArray.put(new JSONObject());
			jsonObj.put("keys", JSONObject.getNames(jsonObj));
			System.out.println(jsonObj.toString(4));

			System.out.println("String: " + jsonObj.getDouble("String"));
			System.out.println("  bool: " + jsonObj.getBoolean("bool"));
			System.out.println("    to: " + jsonObj.getString("to"));
			System.out.println("  true: " + jsonObj.getString("true"));
			System.out.println("   foo: " + jsonObj.getJSONArray("foo"));
			System.out.println("    op: " + jsonObj.getString("op"));
			System.out.println("   ten: " + jsonObj.getInt("ten"));
			System.out.println("  oops: " + jsonObj.optBoolean("oops"));
		} catch (JSONException e) {
			e.printStackTrace();
		}
	}

	/*{
	"Testing JSONString interface": {"A beany object":42},
	"aBoolean": true,
	"aNumber": 42,
	"aString": "A beany object"
	}
	*/
	public void testBean() {
		Obj obj = new Obj("A beany object", 42, true);
		JSONObject jsonObj;
		String sa[] = { "aString", "aNumber", "aBoolean" };
		jsonObj = new JSONObject(obj, sa);
		try {
			jsonObj.put("Testing JSONString interface", obj);
			System.out.println(jsonObj.toString(4));
		} catch (JSONException e) {
			e.printStackTrace();
		}

	}

	/*
	 * [1,2,3]
	 */
	public void testArr() {
		int ar[] = { 1, 2, 3 };
		JSONArray ja;
		try {
			ja = new JSONArray(ar);
			System.out.println(ja.toString());
		} catch (JSONException e) {
			e.printStackTrace();
		}

	}

	/*
	{"single":"MARIE HAA'S","Johnny":"MARIE HAA\\'S","foo":"bar","baz":[{"quux":"Thanks, Josh!"}],"obj keys":"11"}
	{"a":[[["b"]]]}
	 */
	public void testJsonStringer() {
		JSONStringer jsonStringer;
		String str;
		jsonStringer = new JSONStringer();
		try {
			str = jsonStringer.object().key("single").value("MARIE HAA'S").key(
					"Johnny").value("MARIE HAA\\'S").key("foo").value("bar")
					.key("baz").array().object().key("quux").value(
							"Thanks, Josh!").endObject().endArray().key(
							"obj keys").value("11").endObject().toString();

			System.out.println(str);

			System.out.println(new JSONStringer().object().key("a").array()
					.array().array().value("b").endArray().endArray()
					.endArray().endObject().toString());
		} catch (JSONException e) {
			e.printStackTrace();
		}
	}

	/*
	{"recipe": {
	"cook_time": "3 hours",
	"ingredient": [
	    {
	        "amount": 4,
	        "content": "Water",
	        "state": "warm",
	        "unit": "dL"
	    },
	    {
	        "amount": 1,
	        "content": "Salt",
	        "unit": "teaspoon"
	    }
	],
	"instructions": {"step": [
	    "Knead thoroughly.",
	    "Knead again."
	]},
	"name": "bread",
	"prep_time": "5 mins",
	"title": "Basic bread"
	}}

	{"cook_time":"3 hours","prep_time":"5 mins","childNodes":[{"childNodes":["Basic bread"],"tagName":"title"},{"amount":4,"childNodes":["Water"],"unit":"dL","state":"warm","tagName":"ingredient"},{"amount":1,"childNodes":["Salt"],"unit":"teaspoon","tagName":"ingredient"},{"childNodes":[{"childNodes":["Knead thoroughly."],"tagName":"step"},{"childNodes":["Knead again."],"tagName":"step"}],"tagName":"instructions"}],"name":"bread","tagName":"recipe"}
	<recipe cook_time="3 hours" prep_time="5 mins" name="bread"><title>Basic bread</title><ingredient amount="4" unit="dL" state="warm">Water</ingredient><ingredient amount="1" unit="teaspoon">Salt</ingredient><instructions><step>Knead thoroughly.</step><step>Knead again.</step></instructions></recipe>

	[
	"recipe",
	{
	    "cook_time": "3 hours",
	    "name": "bread",
	    "prep_time": "5 mins"
	},
	[
	    "title",
	    "Basic bread"
	],
	[
	    "ingredient",
	    {
	        "amount": 4,
	        "state": "warm",
	        "unit": "dL"
	    },
	    "Water"
	],
	[
	    "ingredient",
	    {
	        "amount": 1,
	        "unit": "teaspoon"
	    },
	    "Salt"
	],
	[
	    "instructions",
	    [
	        "step",
	        "Knead thoroughly."
	    ],
	    [
	        "step",
	        "Knead again."
	    ]
	]
	]
	<recipe cook_time="3 hours" prep_time="5 mins" name="bread"><title>Basic bread</title><ingredient amount="4" unit="dL" state="warm">Water</ingredient><ingredient amount="1" unit="teaspoon">Salt</ingredient><instructions><step>Knead thoroughly.</step><step>Knead again.</step></instructions></recipe>
	*/
	public void testXML() {
		JSONArray jsonArray;
		JSONObject jsonObj;
		String str;
		str = "<recipe name=\"bread\" prep_time=\"5 mins\" cook_time=\"3 hours\">"
				+ " <title>Basic bread</title> "
				+ " <ingredient amount=\"4\" unit=\"dL\" state=\"warm\">Water</ingredient> "
				+ " <ingredient amount=\"1\" unit=\"teaspoon\">Salt</ingredient> "
				+ " <instructions> "
				+ " <step>Knead thoroughly.</step>"
				+ " <step>Knead again.</step> "
				+ " </instructions> "
				+ "</recipe> ";
		//XML转换成JSON对象
		try {
			jsonObj = XML.toJSONObject(str);

			System.out.println(jsonObj.toString(4));//JSON格式化输出
			System.out.println();

			jsonObj = JSONML.toJSONObject(str);
			System.out.println(jsonObj.toString());
			System.out.println(JSONML.toString(jsonObj));
			System.out.println();

			jsonArray = JSONML.toJSONArray(str);
			System.out.println(jsonArray.toString(4));
			System.out.println(JSONML.toString(jsonArray));
			System.out.println();
		} catch (JSONException e) {
			e.printStackTrace();
		}
	}

	/*
	{"list of lists": [
	[
	    1,
	    2
	],
	[
	    4,
	    5
	]
	]}
	<list of lists><array>1</array><array>2</array></list of lists><list of lists><array>4</array><array>5</array></list of lists>
	*/
	public void testJsonStr() {
		JSONObject jsonObj;
		String str;
		str = "{     \"list of lists\" : [         [1, 2],         [4, 5],     ] }";
		//以JSON串构造JSON对象
		try {
			jsonObj = new JSONObject(str);

			//JSON对象格式化输出
			System.out.println(jsonObj.toString(4));
			//JSON对象到XML的转换
			System.out.println(XML.toString(jsonObj));
		} catch (JSONException e) {
			e.printStackTrace();
		}
	}
}

class Obj implements JSONString {
	public String aString;
	public double aNumber;
	public boolean aBoolean;

	public Obj(String string, double n, boolean b) {
		this.aString = string;
		this.aNumber = n;
		this.aBoolean = b;
	}

	public double getNumber() {
		return this.aNumber;
	}

	public String getString() {
		return this.aString;
	}

	public boolean isBoolean() {
		return this.aBoolean;
	}

	public String getBENT() {
		return "All uppercase key";
	}

	public String getX() {
		return "x";
	}

	public String toJSONString() {
		return "{" + JSONObject.quote(this.aString) + ":"
				+ JSONObject.doubleToString(this.aNumber) + "}";
	}

	public String toString() {
		return this.getString() + " " + this.getNumber() + " "
				+ this.isBoolean() + "." + this.getBENT() + " " + this.getX();
	}
}

 

代码转自:

http://jiangzhengjun.iteye.com/blog/463037

 

分享到:
评论

相关推荐

    org.json.jar包

    `org.json.jar` 包是Java开发中广泛使用的开源库,主要用于处理JSON(JavaScript Object Notation)数据。JSON是一种轻量级的数据交换格式,因其简洁、易于读写和解析的特性,被广泛应用在Web服务和应用程序之间进行...

    Jackson将json string转为Object,org.json读取json数组的实例

    标题中提到的两个关键词是Jackson和org.json,它们是Java中处理JSON数据的两个流行库。Jackson是基于Java的库,可以轻松地将JSON数据序列化或反序列化为Java对象。org.json是一个轻量级的库,也用于处理JSON数据。接...

    org.json Jar包

    import org.json.*; public class JsonDemo { public static void main(String[] args) { // 创建JSON对象 JSONObject obj = new JSONObject(); obj.put("name", "John"); obj.put("age", 30); System.out....

    新版本org.json的jar包

    这个"新版本org.json的jar包"是针对2017年10月18日发布的org.json库的更新版本,旨在提供更稳定、更高效的JSON操作功能。 org.json库包含了一些核心类,如JSONObject、JSONArray、XML等,它们为JSON对象和数组提供...

    org.json.JSONObject引用依赖包

    在Java开发中,`org.json.JSONObject` 是一个广泛使用的库,它允许开发者处理JSON对象,进行JSON数据的创建、解析和操作。这个库是`org.json`包的一部分,由Morten Kjetland开发并维护,它提供了一个简单且直观的...

    org.json源码及jar包

    首先,你需要导入`org.json.JSONObject`: ```java import org.json.JSONObject; ``` 创建一个`JSONObject`可以通过构造函数传入一个字符串,或者通过调用`put()`方法添加键值对: ```java JSONObject jsonObject...

    org.json.JSON.zip

    《深入解析org.json.JSON库:从基础到进阶》 在Java编程中,处理JSON数据是一项常见的任务。org.json库是Java中一个轻量级、易于使用的JSON处理库,广泛应用于JSON的序列化和反序列化。本篇将详细介绍org.json.JSON...

    org.json.jar工具包下载(可用)

    这个资源包`org.json.jar`正是这个库的实现,它包含了一系列的类和方法,使得在Java程序中处理JSON变得简单。 `org.json`库的核心类主要包括以下几个: 1. **JSONObject**: 这个类代表了一个JSON对象,可以存储...

    org.json最新版本jar包(2017.10.18)

    在Java项目中使用org.json库,通常需要将jar包(如`org.json.jar`)添加到项目的类路径中,这样就可以在代码中直接导入并使用库中的类和方法。例如,要创建一个简单的JSONObject并将其打印出来,可以这样做: ```...

    org.json的依赖包

    `json.jar`文件就是这个库的实现,可以直接添加到Java项目的类路径中,而`readme.txt`通常会包含一些关于如何使用、版权信息以及可能的更新日志等内容。 在实际开发中,使用org.json库可以非常便捷地处理JSON数据,...

    Java下的json解析工具包:org.json.jar包

    为了方便Java开发者处理JSON数据,出现了各种JSON库,其中`org.json.jar`就是一个非常实用的工具包。这个库提供了一系列的类和方法,帮助我们轻松地构建、解析和转换JSON对象。 `org.json`库的核心类主要包括`...

    org.json Android

    "org.json" 是一个适用于Java和Android的开源JSON库,它提供了方便的API来处理JSON数据,使得在Android应用中与后端servlet进行交互变得更加简单。 首先,我们来看一下"org.json"库提供的主要类和接口: 1. ...

    org.json.jar.zip

    《深入解析org.json.jar及其应用》 在Java开发中,数据序列化与反序列化是一项不可或缺的任务,而org.json.jar库则为此提供了便捷高效的解决方案。本文将深入探讨org.json.jar的核心概念、功能以及如何在实际项目中...

    org.json.*

    "org.json.*" 是一个与Java编程相关的主题,主要涉及的是JSON(JavaScript Object Notation)处理库。JSON是一种轻量级的数据交换格式,被广泛应用于Web服务和客户端应用程序之间的数据传输。在Java中,org.json包...

    org.json.jar三个最新版本

    org.json.jar是Java平台上的一个库,它提供了一系列API,方便开发者处理JSON对象,包括序列化和反序列化Java对象为JSON格式,以及解析JSON文本。 在Java开发中,org.json.jar库是非常常用的工具,它包含了一些核心...

    org.json.JSONObject 包下载

    `org.json.JSONObject`是Java编程语言中用于处理JSON(JavaScript Object Notation)数据的一个轻量级库。这个库由Mozilla Public License提供,广泛应用于需要在Java应用中进行JSON解析、生成和操作的场景。JSON是...

    json的最全版jar包(包含fastjson、gson、org.json)

    String jsonString = JSON.toJSONString(user); System.out.println(jsonString); } } ``` 同样,使用Gson或org.json进行JSON操作也有类似的API。了解并熟练掌握这些库的使用方法,对于进行JSON数据处理的Java...

    org.json.JSONObject jar包

    org.json.JSONObject的6个jar包 commons-beanutils;commons-collections;commons-lang;commons-logging;ezmorph;json-lib

Global site tag (gtag.js) - Google Analytics