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();
}
}
分享到:
相关推荐
4. **JSON-P (Java API for JSON Processing)**:这是Java EE的一部分,提供了一套标准化的API来处理JSON数据。 5. **JSON-Simple**:这是一个简单的JSON库,适用于小型项目或教学目的。 6. **Apache JSON-B (Java...
为了使得Java客户端能够调用WebService服务,需要使用一些工具,例如JAX-WS(Java API for XML Web Services),它是Java SE的一部分,用于创建WebService客户端和服务端。 综上所述,通过Java调用带有JSON参数的...
在实际开发中,使用Java进行JSON操作时,开发者可能会使用如Gson、Jackson、JSON-P、JSON-Simple等库。例如,Jackson库提供了`ObjectMapper`类,可以方便地将Java对象转换成JSON字符串,也可以将JSON字符串反序列...
在Java中,处理JSON的主要库有Jackson、Gson、org.json和json-simple等。本实例将重点介绍如何使用Java的Jackson库进行JSON操作。 首先,安装Jackson库。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml ...
**Jettison**是一个开源的Java库,它实现了JSR-222(Java API for JSON Processing,简称JSON-P)规范,用于在Java和JSON之间进行映射,使得Java对象可以直接转换为JSON格式,反之亦然。 在提供的文件列表中,我们...
压缩包中可能还包括了其他与JSON处理相关的JAR,如JSON-P(Java API for JSON Processing)或JSON-Simple等。JSON-P是Java EE的一部分,提供了一种标准化的方式来处理JSON。JSON-Simple是一个轻量级的库,适合小型...
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 API for JSON Processing (Json-P) 是Java EE规范的一部分,提供了一种标准的方式来处理JSON数据。`javax.json`包中的`JsonObjectBuilder`和`JsonParser`类是其核心,分别用于构建和解析JSON。 4. **Json-B...
在Java中,我们可以通过DOM(Document Object Model)、SAX(Simple API for XML)或者StAX(Streaming API for XML)等XML解析库来读取和解析KML文件。这里可能会使用到如JAXB(Java Architecture for XML Binding...
日志记录库,如SLF4J(Simple Logging Facade for Java),用于记录应用程序中的日志信息,帮助调试和追踪问题。 10. **javax.ws.rs-api-*.jar**: JAX-RS API,定义了处理RESTful服务的标准接口。 在实际开发中...
- SAX解析:SAX(Simple API for XML)是一种事件驱动的解析器,适用于处理大型XML文件。`org.xml.sax.XMLReader`和`ContentHandler`接口是SAX解析的核心组件。 - JAXB(Java Architecture for XML Binding)用于...
在Java中,处理XML通常涉及到DOM(Document Object Model)、SAX(Simple API for XML)或StAX(Streaming API for XML)等解析器。DOM一次性加载整个XML文档到内存,适合小到中型的文档;SAX事件驱动,只读,逐行...
SimpleModule module = new SimpleModule(); module.addSerializer(Object.class, new JsonFilterSerializer()); objectMapper.registerModule(module); MappingJackson2HttpMessageConverter converter = new ...
【标题】:“The simple, stupid rules engine for Java.zip”是一个针对Java编程语言设计的简易规则引擎。规则引擎是一种软件系统,它允许程序员或业务分析师定义一系列逻辑规则,这些规则可以在运行时被应用程序...
SAX(Simple API for XML)是一种事件驱动的解析方式,它不将整个XML文档加载到内存,而是逐行读取,遇到元素、属性等事件时触发回调函数。这种方式节省内存,适合处理大型XML文档。Java中的`org.xml.sax.helpers....
在Java中,我们可以使用DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)等库来解析和生成XML文档。 1. **DOM解析器**:DOM解析器将整个XML文档加载到内存中的一个树形...
首先,解析XML通常有两种主要方法:DOM(Document Object Model)和SAX(Simple API for XML)。DOM一次性加载整个XML文档到内存中,适合小规模的数据;而SAX是事件驱动的,逐行读取,适用于处理大型XML文件。这里...
此“JSON必要jar包”可能包含如Jackson、Gson、org.json、JSON-P(Java API for JSON Processing)或JSON-Simple等流行的Java JSON处理库。这些库提供了API来解析JSON字符串为Java对象,或将Java对象转换为JSON字符...
标题提到的“Json架包6个”,可能是指有六个常用的Java JSON处理库,虽然未具体列出,但常见的包括Gson、Jackson、org.json、Fastjson、Json-simple和Apache Commons Lang3的JSON部分。 1. Gson:Google提供的一个...