`

Simple JSON for Java

阅读更多
package edu.jlu.fuliang;

import java.io.IOException;
import java.io.StringWriter;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.Map;

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.JSONValue;

public class TestSimpleJson {
	public static void testEncodeJSONObject(){
		JSONObject obj = new JSONObject();
		obj.put("name", "foo");
		obj.put("num", 100);
		obj.put("balace", new Double(1000.23));
		obj.put("is_vip", true);
		obj.put("nickname",null);
		System.out.println(obj);
	}
	
	public static void testStreamingEncodeJSONObject(){
		JSONObject obj = new JSONObject();
		obj.put("name", "foo");
		obj.put("num", 100);
		obj.put("balace", new Double(1000.23));
		obj.put("is_vip", true);
		obj.put("nickname",null);
		try {
			StringWriter out = new StringWriter();
			obj.writeJSONString(out);
			System.out.println(out.toString());
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public static void testEncodeJSONObjectUseMap(){
		Map map = new LinkedHashMap();
		map.put("name", "foo");
		map.put("num", 100);
		map.put("balace", new Double(1000.23));
		map.put("is_vip", true);
		map.put("nickname",null);
		String jsonText = JSONValue.toJSONString(map);
		System.out.println(jsonText);
	}
	
	public static void testEncodeJSONObjectUseMapAndStreaming(){
		Map map = new LinkedHashMap();
		map.put("name", "foo");
		map.put("num", 100);
		map.put("balace", new Double(1000.23));
		map.put("is_vip", true);
		map.put("nickname",null);
		try {
			StringWriter out = new StringWriter();
			JSONValue.writeJSONString(map, out);
			System.out.println(out.toString());
		}catch(IOException e){
			e.printStackTrace();
		}
	}
	
	public static void testEncodeJSONArray(){
		JSONArray array = new JSONArray();
		array.add("foo");
		array.add(100);
		array.add(new Double(1000.21));
		array.add(new Boolean(true));
		array.add(null);
		System.out.println(array);
	}
	
	public static void testEncodeJSONArrayUseStreaming(){
		JSONArray array = new JSONArray();
		array.add("foo");
		array.add(100);
		array.add(new Double(1000.21));
		array.add(new Boolean(true));
		array.add(null);
		try {
			StringWriter out = new StringWriter();
			array.writeJSONString(out);
			System.out.println(out.toString());
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public static void testEncodeJSONArrayUseList(){
		LinkedList list = new LinkedList();
		list.add("foo");
		list.add(11);
		list.add(new Double(1000.21));
		list.add(null);
		String jsonText = JSONValue.toJSONString(list);
		System.out.println(jsonText);
	}
	
	public static void testEncodeJSONArrayUseListAndStreaming(){
		LinkedList list = new LinkedList();
		  list.add("foo");
		  list.add(new Integer(100));
		  list.add(new Double(1000.21));
		  list.add(new Boolean(true));
		  list.add(null);
		  try {
			  StringWriter out = new StringWriter();
			  JSONValue.writeJSONString(list, out);
			  String jsonText = out.toString();
			  System.out.print(jsonText);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public static void testMergeTwoJSONObjects(){
		JSONObject obj1 = new JSONObject();
		obj1.put("name", "foo");
		obj1.put("num", 100);
		obj1.put("balace", new Double(1000.23));
		
		JSONObject obj2 = new JSONObject();
		obj2.put("is_vip",new Boolean(true));
		obj2.put("nickname",null);
		
		obj2.putAll(obj1);
	}
	
	public static void testMergeTwoJSONArray(){
		 JSONArray list1 = new JSONArray();
		  list1.add("foo");
		  list1.add(new Integer(100));
		  list1.add(new Double(1000.21));
		  
		  JSONArray list2 = new JSONArray();
		  list2.add(new Boolean(true));
		  list2.add(null);
		  list2.addAll(list1);
		  System.out.print(list2);
	}
	
	public static void testCombinationMerge(){
		 JSONArray list1 = new JSONArray();
		  list1.add("foo");
		  list1.add(new Integer(100));
		  list1.add(new Double(1000.21));
		  
		  JSONArray list2 = new JSONArray();
		  list2.add(new Boolean(true));
		  list2.add(null);
		                
		  JSONObject obj = new JSONObject();
		  obj.put("name","foo");
		  obj.put("num",new Integer(100));
		  obj.put("balance",new Double(1000.21));
		  obj.put("is_vip",new Boolean(true));
		  obj.put("nickname",null);
		    
		  obj.put("list1", list1);
		  obj.put("list2", list2);
		                
		  System.out.println(obj);
	}
	public static void main(String[] args) {
		testEncodeJSONObject();
		testStreamingEncodeJSONObject();
		testEncodeJSONObjectUseMap();
		testEncodeJSONObjectUseMapAndStreaming();
		testEncodeJSONArray();
		testEncodeJSONArrayUseStreaming();
		testEncodeJSONArrayUseList();
		testEncodeJSONArrayUseListAndStreaming();
		testMergeTwoJSONObjects();
		testMergeTwoJSONArray();
		testCombinationMerge();
	}
}
分享到:
评论

相关推荐

    Json-Java:jar

    4. **JSON-P (Java API for JSON Processing)**:这是Java EE的一部分,提供了一套标准化的API来处理JSON数据。 5. **JSON-Simple**:这是一个简单的JSON库,适用于小型项目或教学目的。 6. **Apache JSON-B (Java...

    java调用json参数的webservice

    为了使得Java客户端能够调用WebService服务,需要使用一些工具,例如JAX-WS(Java API for XML Web Services),它是Java SE的一部分,用于创建WebService客户端和服务端。 综上所述,通过Java调用带有JSON参数的...

    json.rar_Soap To json_java webservice json_json rpc SOAP_json we

    在实际开发中,使用Java进行JSON操作时,开发者可能会使用如Gson、Jackson、JSON-P、JSON-Simple等库。例如,Jackson库提供了`ObjectMapper`类,可以方便地将Java对象转换成JSON字符串,也可以将JSON字符串反序列...

    java操作json实例

    在Java中,处理JSON的主要库有Jackson、Gson、org.json和json-simple等。本实例将重点介绍如何使用Java的Jackson库进行JSON操作。 首先,安装Jackson库。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml ...

    Java-tomcat-axis2开发webservice返回json数据

    **Jettison**是一个开源的Java库,它实现了JSR-222(Java API for JSON Processing,简称JSON-P)规范,用于在Java和JSON之间进行映射,使得Java对象可以直接转换为JSON格式,反之亦然。 在提供的文件列表中,我们...

    java配合json使用的JAR

    压缩包中可能还包括了其他与JSON处理相关的JAR,如JSON-P(Java API for JSON Processing)或JSON-Simple等。JSON-P是Java EE的一部分,提供了一种标准化的方式来处理JSON。JSON-Simple是一个轻量级的库,适合小型...

    Java开发JSON所需要的jar包!

    5. JSON-P (Java API for JSON Processing) JSON-P是Java平台的标准API,用于处理JSON数据。它定义了一组接口和类,使得开发者能够以标准的方式处理JSON。对应的jar包可能为`javax.json-api-1.1.x.jar`和`javax.json...

    java转换json所需的所有包(完整版)

    Java API for JSON Processing (Json-P) 是Java EE规范的一部分,提供了一种标准的方式来处理JSON数据。`javax.json`包中的`JsonObjectBuilder`和`JsonParser`类是其核心,分别用于构建和解析JSON。 4. **Json-B...

    java读取kml文件数据

    在Java中,我们可以通过DOM(Document Object Model)、SAX(Simple API for XML)或者StAX(Streaming API for XML)等XML解析库来读取和解析KML文件。这里可能会使用到如JAXB(Java Architecture for XML Binding...

    java servlet使用JSON所需的所有jar包

    日志记录库,如SLF4J(Simple Logging Facade for Java),用于记录应用程序中的日志信息,帮助调试和追踪问题。 10. **javax.ws.rs-api-*.jar**: JAX-RS API,定义了处理RESTful服务的标准接口。 在实际开发中...

    JAVA工具类(整合,xml,json,MD5,加密解密)

    - SAX解析:SAX(Simple API for XML)是一种事件驱动的解析器,适用于处理大型XML文件。`org.xml.sax.XMLReader`和`ContentHandler`接口是SAX解析的核心组件。 - JAXB(Java Architecture for XML Binding)用于...

    json和xml格式数据的解析(java代码+相关的jar包)

    在Java中,处理XML通常涉及到DOM(Document Object Model)、SAX(Simple API for XML)或StAX(Streaming API for XML)等解析器。DOM一次性加载整个XML文档到内存,适合小到中型的文档;SAX事件驱动,只读,逐行...

    Json字段过滤器

    SimpleModule module = new SimpleModule(); module.addSerializer(Object.class, new JsonFilterSerializer()); objectMapper.registerModule(module); MappingJackson2HttpMessageConverter converter = new ...

    The simple, stupid rules engine for Java.zip

    【标题】:“The simple, stupid rules engine for Java.zip”是一个针对Java编程语言设计的简易规则引擎。规则引擎是一种软件系统,它允许程序员或业务分析师定义一系列逻辑规则,这些规则可以在运行时被应用程序...

    java解析xml的4种方法和json格式

    SAX(Simple API for XML)是一种事件驱动的解析方式,它不将整个XML文档加载到内存,而是逐行读取,遇到元素、属性等事件时触发回调函数。这种方式节省内存,适合处理大型XML文档。Java中的`org.xml.sax.helpers....

    Java-Java操作XML和JSON教程

    在Java中,我们可以使用DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)等库来解析和生成XML文档。 1. **DOM解析器**:DOM解析器将整个XML文档加载到内存中的一个树形...

    Java 解析xml 存入mongodb 返回org.json json包

    首先,解析XML通常有两种主要方法:DOM(Document Object Model)和SAX(Simple API for XML)。DOM一次性加载整个XML文档到内存中,适合小规模的数据;而SAX是事件驱动的,逐行读取,适用于处理大型XML文件。这里...

    JSON必要jar包

    此“JSON必要jar包”可能包含如Jackson、Gson、org.json、JSON-P(Java API for JSON Processing)或JSON-Simple等流行的Java JSON处理库。这些库提供了API来解析JSON字符串为Java对象,或将Java对象转换为JSON字符...

    Json架包6个

    标题提到的“Json架包6个”,可能是指有六个常用的Java JSON处理库,虽然未具体列出,但常见的包括Gson、Jackson、org.json、Fastjson、Json-simple和Apache Commons Lang3的JSON部分。 1. Gson:Google提供的一个...

Global site tag (gtag.js) - Google Analytics